Փոխել Linux ֆայլի սեփականատիրոջը: Chown - հրաման՝ Linux-ում ֆայլերի և թղթապանակների տիրոջը փոխելու համար

Տուն / Նոթբուքեր

Linux-ի յուրաքանչյուր ֆայլ կամ թղթապանակ ունի իր սեփական թույլտվությունները:

Իրավունքների 3 տեսակ կա.
կարդալ (r), գրել (w), կատարել (x)

Իրավունքները սահմանվում են 3 տեսակի օգտատերերի համար.
սեփականատեր(u), խումբ(g), մնացած բոլորը (o)

Այսպիսով, յուրաքանչյուր ֆայլի իրավունքները 9 բիթ տեղեկատվություն են (3 տեսակի իրավունքներ * 3 տեսակի օգտատերեր), համապատասխանաբար, յուրաքանչյուր բիթ կարող է սահմանվել (=1) մուտքը թույլատրված է, կամ զրոյացնել (=0) մուտքը մերժված է։

Իրավունքներ հատկացնելիս ընդունված է օգտագործել օկտալ թվային համակարգը։

Իրավունքների տեքստային ներկայացում (10 նիշ).
- rwxr- - r - -
0123456789

Նիշ 0 դիրքում.
«-» - սովորական ֆայլ, «d» - թղթապանակ, «l» - հղում

Նշաններ 1-3 դիրքերում.
«rwx» - սեփականատիրոջ իրավունքներ

Նշաններ 4-6 դիրքերում.
«r - -» - իրավունքներ խմբի համար

Նշաններ 7-9-րդ դիրքերում.
«r - -» - իրավունքները բոլորի համար

Իրավունքների որոշման աղյուսակ.

Ինչպես երևում է աղյուսակից, իրավունքները հեշտությամբ հաշվարկվում են
պարզ ամփոփում. 1=կատարել, 2=գրել, 4=կարդալ:
օրինակ՝ կատարում(1) և ընթերցում(4) են պահանջվում, ստանում ենք 1+4=5

Օրինակ 644:
- սեփականատեր (u) կարդալ և գրել
- խումբ(g) միայն կարդալ
- ուրիշներ(o) միայն կարդալ

Օրինակ 755:
- բոլոր իրավունքների սեփականատեր(ներ).
- խումբ (g) կարդալ և կատարել
- այլ(օ) ընթերցում և կատարում

Ծրագրավորման լեզուներում, ինչպիսին է C-ն,
Յուրաքանչյուր թվի սկզբում իրավունքներին ավելացվում է 0, ինչը նշանակում է, որ թիվը օկտալ է, այսինքն. 644-ի փոխարեն գրեք 0644: Հրամանի տողից իրավունքները փոխելիս դա սովորաբար չի պահանջվում:

Իրավունքների քառանիշ ներկայացում (4755), լրացուցիչ իրավունքներ
SUID, SGID, կպչուն բիթեր.

  • SUID կամ setuid. գործարկման ժամանակ փոխեք «Օգտվողի ID»-ն
  • SGID կամ setgid. գործարկման ժամանակ փոխեք «Խմբի ID»-ն
  • կպչուն բիթ. անջատում է ջնջումը բոլոր օգտագործողների համար, բացառությամբ սեփականատիրոջ: Նախկինում բիթը նշանակում էր «պահպանել» հիշողության մեջ գործընթացի ավարտից հետո
Աղյուսակ. Թվային ներկայացումլրացուցիչ իրավունքներ.

Լրացուցիչ բիթերի տեքստային ներկայացում.
Լրացուցիչ բիթերը նշվում են հետևյալ նշաններով.
«S», «s» - SUID, SGID
«T», «t» - կպչուն բիտ
այս բիթերի դիրքը համընկնում է «x» կատարման իրավունքների դիրքերի հետ (3,6,9):
սակայն, եթե չկան կատարողական իրավունքներ, « մեծատառ«Այսինքն՝ մեծ նիշեր։ Եթե կատարման իրավունքները սահմանված են, « փոքրատառ«Այսինքն՝ փոքր կերպարներ.

օրինակներ:

SUID հավաքածու.
- r w s - - - - - - SUID բիթերի սահմանում և կատարում սեփականատիրոջ համար
- r - S - - - - - - SUID բիթերի հավաքածու, կատարման բիթ սահմանված չէ

SGID հավաքածու.
- r w x r w s - - - SGID բիթերի հավաքածու և խմբային կատարում
- r w x r - S - - - SGID բիթերի հավաքածու, սահմանված չէ: կատարում խմբի համար

կպչուն բիտերի հավաքածու.
- r w x r w x r w t կպչուն բիթերի հավաքում և կատարում ուրիշների համար
- r w x r w x r - T կպչուն բիթը դրված է, բայց սահմանված չէ: հանդես գալ ուրիշների համար

Ֆայլերի և թղթապանակների վրա տեղադրման ժամանակ իրավունքների ազդեցության տարբերությունները.

իրավունքներըֆայլերթղթապանակներ
ընթերցանություն ընթերցանության բովանդակությունստանալով ֆայլերի ցանկ
ռեկորդը բովանդակության ձայնագրումփոխելով ֆայլերի ցանկը
(ստեղծում, ջնջում, վերանվանում)
կատարումըֆայլը կարող է իրականացվելօգտվողը կամ գործընթացը կարող է թղթապանակը դարձնել «ընթացիկ/աշխատող»
SUID Կատարելիս սահմանեք «Օգտվողի ID»: Անտեսել օգտվողի ID-ն ֆայլ/թղթապանակ ստեղծելիս (օգտագործել արմատային թղթապանակի սեփականատիրոջ ID-ն)
SGID Կատարելիս սահմանեք «Խմբի ID»: Անտեսել խմբի ID-ն ֆայլ/թղթապանակ ստեղծելիս (օգտագործել արմատային թղթապանակի խմբի ID)
կպչուն կանխել ջնջումը բոլորի կողմից, բացառությամբ սեփականատիրոջ

փոխել հրամանը chmod ճիշտ:
chmod [-R] ֆայլի/թղթապանակի թույլտվությունները

«-R»-ը ռեկուրսիվ կերպով կիրառում է թույլտվությունները բոլոր ֆայլերի և ենթաթղթապանակների վրա

Օրինակներ.
chmod -R 755 թղթապանակ/
chmod 644 ֆայլ
և այլն:

Հնարավոր է փոխել իրավունքները ոչ ամբողջությամբ, այլ միայն ավելացնել կամ չեղարկել իրավունքները միայն օգտվողների որոշակի խմբերի համար
օկտալ թվերի փոխարեն սիմվոլներ օգտագործելով:
«u» - օգտվող/սեփականատեր
«g» - օգտվողների խումբ
«o» - այլ օգտվողներ
«a» - բոլոր օգտվողների խմբերը

Թույլտվության ձևաչափը [[+-=], ...

Օրինակներ.
chmod -R a+x թղթապանակ/ կատարել բոլոր խմբերի համար ռեկուրսիվ
chmod a+rx ֆայլը կարդալ և կատարել բոլորի համար
chmod u+rx,g-rx ֆայլը ավելացնել կարդալ և կատարել սեփականատիրոջ համար և
չեղարկել թույլտվությունները խմբի համար
chmod a+r,o= ֆայլ ավելացնել կարդալ բոլոր խմբերի տեսակների համար և չեղարկել
բոլոր իրավունքները բոլոր մյուս օգտվողների համար

chown սեփականատիրոջ փոփոխության հրամանը.

Chown [-R] սեփականատեր.խմբային ֆայլ/թղթապանակ

Օրինակներ.
chown -R 0:0 թղթապանակ/ սահմանել սեփականատեր/խումբ = արմատ ռեկուրսիվ
chown myuser:mygroup file set myuser/mygroup ֆայլի համար

Փոխեք Linux և *BSD համակարգերում ֆայլերի և պանակների սեփականության իրավունքը և թույլտվությունները

Ստորև բերված տեղեկատվությունը օգտակար կլինի սկսնակների համար LinuxԵվ * BSD համակարգի ադմինիստրատորներ. Մեծ հաշվով, ցանկացած օպերացիոն համակարգում, լինի դա Linux, Windows կամ FreeBSD, հավելվածների, ծառայությունների ճիշտ շահագործումը և ընդհանուր առմամբ համակարգի անվտանգությունը ուղղակիորեն կախված է ֆայլերի և թղթապանակների մուտքի իրավունքից: Օգտագործելով ստորև բերված գործիքները, դուք կարող եք լուծել այն խնդիրների գրեթե 90%-ը, որոնք առաջանում են մուտքի իրավունքներ սահմանելիս:

Փոխեք սեփականատիրոջը բոլոր թղթապանակների և ֆայլերի համար. Այս նպատակների համար Unix-ն օգտագործում է հրամանը chown. Այն ունի մի շարք պարամետրեր.

  • Ընտրանքներ. Օրինակ, որպեսզի փոփոխությունները ազդեն ոչ միայն այս գրացուցակի, այլ նաև բոլոր ենթացանցերի վրա, դուք պետք է կիրառեք հրամանը ռեկուրսիվ կերպով, այսինքն. «-R» պարամետրով:
  • Սեփականատերը կամ սեփականատերերի խումբը («user:group» կամ «user»):
  • Ուղեր դեպի թղթապանակներ/ֆայլեր, որոնց վրա պետք է կիրառվի հրամանը: Օրինակ, «/mnt/pool1/dts1/backup»:

Այսպիսով, դիրեկտորիաների և բոլոր ենթաթղթապանակների և ֆայլերի սեփականատերը (և սեփականատեր խումբը) փոխելու հրամանը կունենա հետևյալ տեսքը.

sudo chown -R օգտվող:group /home/user/dir/

Փոխել թույլտվությունները ֆայլի կամ թղթապանակի վրա Linux և *BDS համակարգերում կարող եք օգտագործել հրամանը chmod. Հարկ է նշել, որ Յունիքսն ունի իր առանձնահատկությունները այս հրամանի գործողության մեջ և իրավունքների տարանջատման սկզբունքը։ Այսպիսով, բացի ֆայլի կամ թղթապանակի սեփականատիրոջից, դուք կարող եք կարգավորել, թե ինչ գործողություններ կարող են կատարել այս նույն սեփականատերը և խումբը, ինչպես նաև բոլոր մյուս օգտվողները: Unix-ում հնարավորությունները բաժանվում են հետևյալ կերպ՝ սեփականատեր, սեփականատեր խումբ և այլն: Գոյություն ունի նաև իրավունքների հետևյալ բաժանումը.

  • Ֆայլ գործարկելու իրավունք (թղթապանակների համար՝ գրացուցակի անցում):
  • Ֆայլը փոփոխելու իրավունք (գրացուցակում ֆայլեր և թղթապանակներ ստեղծելն ու ջնջելը)
  • Ֆայլ կարդալու իրավունք (թղթապանակների համար սա գրացուցակի բովանդակությունը դիտելու իրավունքն է)

Օգտագործման և մտապահման հեշտության համար օգտագործվում է հետևյալ կոդավորումը.

  • մեկնարկ - 1
  • փոփոխություն - 2
  • ընթերցանություն - 4

Այս թվային նշաններն ավելացնելով՝ մենք ստանում ենք սեփականատիրոջը/խմբին/մյուսներին տրված իրավունքների մի շարք: Դիտարկենք այս տեղեկատվությունը օրինակով.

Միայն սեփականատերն իրավունք ունի փոխել ֆայլը, սեփականատիրոջ խումբը կարող է կարդալ, մնացածը ոչինչ չի կարող անել, ուստի հրամանը կլինի այսպիսին.

chmod 640 /media/fileshare/file.txt

Բոլորը կարող են ստեղծել ֆայլեր թղթապանակում, բայց միայն սեփականատերը կարող է տեսնել դրանք.

chmod 622 /media/fileshare/messages/

Որպեսզի բոլորը կարողանան գործարկել ծրագիր, բայց ոչ ոք, բացի սեփականատիրոջից, չի կարող խմբագրել այն.

chmod 711 /media/share/exec

Բոլոր կցված ֆայլերի և թղթապանակների իրավունքները փոխելու համար (այսինքն՝ ռեկուրսիվ), կրկին օգտագործվում է «-R» անջատիչը:

Այս գործողությունները կատարելիս արժե հասկանալ, որ միայն ադմինիստրատորները և այս թղթապանակների և ֆայլերի սեփականատերը կարող են փոխել ֆայլերի և գրացուցակների իրավունքները:

Փոխել թույլտվությունները միայն ֆայլերի կամ միայն թղթապանակների վրա- թիմ գտնել. Այս դեպքում ֆայլերը նշանակվում են որպես ֆայլ (f), իսկ դիրեկտորիաները, համապատասխանաբար, որպես d. Օրինակ.

Օգնեք chown հրամանին Linux-ում

Linux-ում ֆայլի և/կամ թղթապանակի օգտատերը և/կամ խումբը փոխելու համար օգտագործեք chown հրամանը: Ինչպես միշտ, նախ նայենք ակնարկին օպերացիոն համակարգայս հրամանով.

Root@server:~# chown -- օգնություն Օգտագործում. chown ... [:] FILE... or: chown ... --reference=RFILE FILE... Փոխեք յուրաքանչյուր Ֆայլի սեփականատիրոջը և/կամ խմբին OWNER: և/կամ ԽՈՒՄԲ. --reference-ով փոխեք յուրաքանչյուր Ֆայլի սեփականատերը և խումբը RFILE-ի: -c, --փոփոխվում է բառապաշարի պես, բայց հաղորդում է միայն այն դեպքում, երբ փոփոխություն է կատարվում -f, --լուռ, --հանգիստ ճնշել սխալի հաղորդագրությունների մեծ մասը -v, --բառային ելքը ախտորոշում է յուրաքանչյուր մշակված ֆայլի համար. յուրաքանչյուր սիմվոլիկ հղում (սա լռելյայն է), այլ ոչ թե ինքնին խորհրդանշական հղումը -h, --no-dereference ազդում է սիմվոլիկ հղումների վրա՝ որևէ հղումով ֆայլի փոխարեն (օգտակար է միայն համակարգերում, որոնք կարող են փոխել սիմհղման սեփականությունը) --from= CURRENT_OWNER:CURRENT_GROUP փոխեք յուրաքանչյուր ֆայլի սեփականատիրոջը և/կամ խմբին միայն այն դեպքում, եթե դրա ներկայիս սեփականատերը և/կամ խումբը համապատասխանում են այստեղ նշվածներին: Երկուսը կարող են բաց թողնել, որի դեպքում համապատասխանություն չի պահանջվում բաց թողնված հատկանիշի համար --no-preserve-root մի վերաբերվեք «/»-ին հատուկ (կանխադրված) --preserve-root-ը ձախողվում է ռեկուրսիվորեն աշխատել «/»-ի վրա. reference=RFILE օգտագործում է RFILE-ի սեփականատիրոջ և խմբի փոխարեն OWNER:GROUP արժեքները -R, --ռեկուրսիվը գործում է ֆայլերի և դիրեկտորիաների վրա ռեկուրսիվորեն Հետևյալ ընտրանքները փոփոխում են, թե ինչպես է անցնում հիերարխիան, երբ նշված է նաև -R տարբերակը: Նշված է մեկից ավելին, ուժի մեջ է մտնում միայն վերջնականը -H, եթե հրամանի տողի արգումենտը խորհրդանշական հղում է դեպի գրացուցակ, անցեք այն. ) - օգնություն ցուցադրել այս օգնությունը և ելքը - տարբերակի ելքային տարբերակի տեղեկատվությունը և ելքը Սեփականատերը անփոփոխ է, եթե բացակայում է Խումբը անփոփոխ է, եթե բացակայում է, բայց փոխվում է մուտքի խմբի, եթե ենթադրվում է «:» խորհրդանշական OWNER-ի և GROUP-ի հետևող «: ինչպես նաև խորհրդանշական Օրինակներ. chown root:staff /u Նմանապես, բայց նաև փոխել իր խումբը «աշխատակազմի»:

chown -hR արմատ /u Փոխեք /u-ի և ենթաֆայլերի սեփականատիրոջը «root»: GNU coreutils առցանց օգնություն.

Ամբողջական փաստաթղթերը հետևյալ հասցեով՝

կամ հասանելի է տեղում՝ info «(coreutils) chown invocation» միջոցով:

Առաջին տողում օգտվողը կփոխվի օգտվողի, խումբը կփոխվի խմբի ֆայլի /patch/filename-ի համար:

Վերոնշյալ օրինակի երկրորդ տողը օգտագործում է լրացուցիչ տարբերակ-R, որը նշանակում է ռեկուրսիվ մշակում: Այսինքն, թղթապանակը /patch/foldername-ը կփոխի իր սեփականատիրոջը և խմբին, բայց դա չի ավարտվի այս գրացուցակում գտնվող բոլոր թղթապանակներն ու ֆայլերը նույնպես ենթարկվելու են սեփականատիրոջ և խմբի փոփոխման գործընթացին: Համակարգում քաղաքականության խմբի մեջ գլոբալ փոփոխություններ կատարելիս ռեկուրսիան կարող է շատ հարմար լինել:

Chown հրամանի մնացած տարբերակները այնքան էլ պահանջված չեն և օգտագործվում են, ուստի ես առայժմ չեմ զբաղվի դրանցով:

Linux-ի յուրաքանչյուր ֆայլ կամ թղթապանակ ունի իր սեփական թույլտվությունները:

Իրավունքների 3 տեսակ կա.
կարդալ (r), գրել (w), կատարել (x)

Իրավունքները սահմանվում են 3 տեսակի օգտատերերի համար.
սեփականատեր(u), խումբ(g), մնացած բոլորը (o)

Այսպիսով, յուրաքանչյուր ֆայլի իրավունքները 9 բիթ տեղեկատվություն են (3 տեսակի իրավունքներ * 3 տեսակի օգտատերեր), համապատասխանաբար, յուրաքանչյուր բիթ կարող է սահմանվել (=1) մուտքը թույլատրված է, կամ զրոյացնել (=0) մուտքը մերժված է։

Իրավունքներ հատկացնելիս ընդունված է օգտագործել օկտալ թվային համակարգը։

Իրավունքների տեքստային ներկայացում (10 նիշ).
- rwxr- - r - -
0123456789

Նիշ 0 դիրքում.
«-» - սովորական ֆայլ, «d» - թղթապանակ, «l» - հղում

Նշաններ 1-3 դիրքերում.
«rwx» - սեփականատիրոջ իրավունքներ

Նշաններ 4-6 դիրքերում.
«r - -» - իրավունքներ խմբի համար

Նշաններ 7-9-րդ դիրքերում.
«r - -» - իրավունքները բոլորի համար

Իրավունքների որոշման աղյուսակ.

Ինչպես երևում է աղյուսակից, իրավունքները հեշտությամբ հաշվարկվում են
պարզ ամփոփում. 1=կատարել, 2=գրել, 4=կարդալ:
օրինակ՝ կատարում(1) և ընթերցում(4) են պահանջվում, ստանում ենք 1+4=5

Օրինակ 644:
- սեփականատեր (u) կարդալ և գրել
- խումբ(g) միայն կարդալ
- ուրիշներ(o) միայն կարդալ

Օրինակ 755:
- բոլոր իրավունքների սեփականատեր(ներ).
- խումբ (g) կարդալ և կատարել
- այլ(օ) ընթերցում և կատարում

Ծրագրավորման լեզուներում, ինչպիսին է C-ն,
Յուրաքանչյուր թվի սկզբում իրավունքներին ավելացվում է 0, ինչը նշանակում է, որ թիվը օկտալ է, այսինքն. 644-ի փոխարեն գրեք 0644: Հրամանի տողից իրավունքները փոխելիս դա սովորաբար չի պահանջվում:

Իրավունքների քառանիշ ներկայացում (4755), լրացուցիչ իրավունքներ
SUID, SGID, կպչուն բիթեր.

  • SUID կամ setuid. գործարկման ժամանակ փոխեք «Օգտվողի ID»-ն
  • SGID կամ setgid. գործարկման ժամանակ փոխեք «Խմբի ID»-ն
  • կպչուն բիթ. անջատում է ջնջումը բոլոր օգտագործողների համար, բացառությամբ սեփականատիրոջ: Նախկինում բիթը նշանակում էր «պահպանել» հիշողության մեջ գործընթացի ավարտից հետո
Աղյուսակ. Լրացուցիչ իրավունքների թվային ներկայացում.

Լրացուցիչ բիթերի տեքստային ներկայացում.
Լրացուցիչ բիթերը նշվում են հետևյալ նշաններով.
«S», «s» - SUID, SGID
«T», «t» - կպչուն բիտ
այս բիթերի դիրքը համընկնում է «x» կատարման իրավունքների դիրքերի հետ (3,6,9):
Այնուամենայնիվ, եթե չկան կատարման իրավունքներ, օգտագործվում է «մեծատառ», այսինքն. մեծ խորհրդանիշներ. Եթե ​​կատարման թույլտվությունները սահմանված են, ապա օգտագործվում է «փոքրատառ», այսինքն. փոքր խորհրդանիշներ.

օրինակներ:

SUID հավաքածու.
- r w s - - - - - - SUID բիթերի սահմանում և կատարում սեփականատիրոջ համար
- r - S - - - - - - SUID բիթերի հավաքածու, կատարման բիթ սահմանված չէ

SGID հավաքածու.
- r w x r w s - - - SGID բիթերի հավաքածու և խմբային կատարում
- r w x r - S - - - SGID բիթերի հավաքածու, սահմանված չէ: կատարում խմբի համար

կպչուն բիտերի հավաքածու.
- r w x r w x r w t կպչուն բիթերի հավաքում և կատարում ուրիշների համար
- r w x r w x r - T կպչուն բիթը դրված է, բայց սահմանված չէ: հանդես գալ ուրիշների համար

Ֆայլերի և թղթապանակների վրա տեղադրման ժամանակ իրավունքների ազդեցության տարբերությունները.

իրավունքներըֆայլերթղթապանակներ
ընթերցանություն ընթերցանության բովանդակությունստանալով ֆայլերի ցանկ
ռեկորդը բովանդակության ձայնագրումփոխելով ֆայլերի ցանկը
(ստեղծում, ջնջում, վերանվանում)
կատարումըֆայլը կարող է իրականացվելօգտվողը կամ գործընթացը կարող է թղթապանակը դարձնել «ընթացիկ/աշխատող»
SUID Կատարելիս սահմանեք «Օգտվողի ID»: Անտեսել օգտվողի ID-ն ֆայլ/թղթապանակ ստեղծելիս (օգտագործել արմատային թղթապանակի սեփականատիրոջ ID-ն)
SGID Կատարելիս սահմանեք «Խմբի ID»: Անտեսել խմբի ID-ն ֆայլ/թղթապանակ ստեղծելիս (օգտագործել արմատային թղթապանակի խմբի ID)
կպչուն կանխել ջնջումը բոլորի կողմից, բացառությամբ սեփականատիրոջ

chmod թույլտվությունները փոխելու հրաման.
chmod [-R] ֆայլի/թղթապանակի թույլտվությունները

«-R»-ը ռեկուրսիվ կերպով կիրառում է թույլտվությունները բոլոր ֆայլերի և ենթաթղթապանակների վրա

Օրինակներ.
chmod -R 755 թղթապանակ/
chmod 644 ֆայլ
և այլն:

Հնարավոր է փոխել իրավունքները ոչ ամբողջությամբ, այլ միայն ավելացնել կամ չեղարկել իրավունքները միայն օգտվողների որոշակի խմբերի համար
օկտալ թվերի փոխարեն սիմվոլներ օգտագործելով:
«u» - օգտվող/սեփականատեր
«g» - օգտվողների խումբ
«o» - այլ օգտվողներ
«a» - բոլոր օգտվողների խմբերը

Թույլտվության ձևաչափը [[+-=], ...

Օրինակներ.
chmod -R a+x թղթապանակ/ կատարել բոլոր խմբերի համար ռեկուրսիվ
chmod a+rx ֆայլը կարդալ և կատարել բոլորի համար
chmod u+rx,g-rx ֆայլը ավելացնել կարդալ և կատարել սեփականատիրոջ համար և
չեղարկել թույլտվությունները խմբի համար
chmod a+r,o= ֆայլ ավելացնել կարդալ բոլոր խմբերի տեսակների համար և չեղարկել
բոլոր իրավունքները բոլոր մյուս օգտվողների համար

chown սեփականատիրոջ փոփոխության հրամանը.

Chown [-R] սեփականատեր.խմբային ֆայլ/թղթապանակ

Օրինակներ.
chown -R 0:0 թղթապանակ/ սահմանել սեփականատեր/խումբ = արմատ ռեկուրսիվ
chown myuser:mygroup file set myuser/mygroup ֆայլի համար

© 2024 ermake.ru -- Համակարգչի վերանորոգման մասին - Տեղեկատվական պորտալ