Ვისწავლოთ Linux Command setfacl

Setfacl კომუნალური ადგენს ფაილების და დირექტორიების წვდომის კონტროლის სიები (ACLs). ბრძანების სიაში, ბრძანებების რიგით მოყვება ფაილების რიგით (რასაც, თავის მხრივ, მოყვება სხვა ბრძანებები, ...).

პარამეტრები- და -x ველით ACL ბრძანებას. მრავალჯერადი ACL ჩანაწერები გამოყოფილია სამახსოვრო სიმბოლოებით (``, `). პარამეტრები- M, და -X წაიკითხეთ ACL ფაილის ან სტანდარტული შეყვანისგან. ACL შესვლის ფორმატი აღწერილია სექციის ACL ENTRIES- ში.

--set და --set-file პარამეტრები მითითებული ACL ფაილი ან დირექტორია. წინა ACL შეიცვალა. ამ ოპერაციისთვის ACL ჩანაწერები უნდა შეიცავდეს ნებართვას.

-m (--modify) და -M (--modify-file) პარამეტრების შეცვლა ACL ფაილის ან დირექტორიაში. ამ ოპერაციისთვის ACL ჩანაწერები უნდა შეიცავდეს ნებართვას.

-x (--remove) და -X (--remove-file) პარამეტრების ამოღება ACL enries. მხოლოდ ACL ჩანაწერები ნებართვების გარეშე არ მიიღება პარამეტრებით, თუ არ არის განსაზღვრული POSIXLY_CORRECT.

ფაილების წაკითხვისას -M და -X პარამეტრების გამოყენებით, setfacl იღებს გამომავალს getfacl აწარმოებს. ერთ-ერთი ACL შესვლისას ერთ ხაზზეა. მას შემდეგ, რაც ფუნტი ნიშანი (`# '), ყველაფერი ბოლომდე ხაზი განიხილება, როგორც კომენტარი.

თუ setfacl გამოიყენება ფაილურ სისტემაში, რომელიც არ უზრუნველყოფს ACL- ს, setfacl მუშაობს ფაილების რეჟიმის ნებართვაში. იმ შემთხვევაში, თუ ACL არ შეესაბამება მთლიანად ნებართვის ბიტიში, setfacl ცვლის ფაილის რეჟიმის ნებართვას ბიტი, რათა ACL- ს მაქსიმალურად მაქსიმალურად ასახავდეს შეცდომის შეტყობინებას სტანდარტული შეცდომით და დააბრუნებს exit- ის სტატუსს 0-ზე მეტი.

სინოფსისი

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-m | -X} acl_file] ფაილი ...

setfacl --restore = ფაილი

პრივილეგიები

ფაილის მფლობელი და პროცესები, რომელსაც შეუძლია CAP_FOWNER- ს შეუძლია მიანიჭოს უფლება, შეცვალოს ფაილი ACL- ები. ეს არის ანალოგიური იმ ფაილებს, რომლებიც საჭიროა ფაილის რეჟიმში წვდომისათვის. (მიმდინარე Linux სისტემებში, root არის ერთადერთი მომხმარებელი CAP_FOWNER შესაძლებლობებით.)

პარამეტრები

-b, --remove- ყველა

ამოიღეთ ყველა გაფართოებული ACL მასალა. მფლობელი, ჯგუფი და სხვათა ბაზის ACL ჩანაწერები შეინარჩუნა.

-k, --remove - default

ამოღება ნაგულისხმები ACL. თუ არ არსებობს ნაგულისხმები ACL, არ გაფრთხილება გაიცემა.

-n, - არ-ნიღაბი

არ დაივიწყოთ ეფექტური უფლებების ნიღაბი. Setfacl- ის ნაგულისხმები ქცევა არის ACL ნიღაბი შესვლის ხელახალი დათვლა, თუ ნიღაბი შესვლის არ არის მკაფიოდ მოცემული. ნიღაბი შესვლის არის მითითებული კავშირის ყველა ნებართვების მფლობელი ჯგუფი, და ყველა დაასახელა მომხმარებელი და ჯგუფი entries. (ეს არის ზუსტად ის ნიმუში, რომელსაც ნიღაბი შეაქვს).

- ნიღაბი

განაახლეთ ეფექტური ნიღაბი, მაშინაც კი, თუ ACL ნიღაბი შესვლის იყო აშკარად მოცემული. (იხილეთ -n ვარიანტი.)

-d, --default

ყველა ოპერაცია მიმართავს ნაგულისხმევ ACL- ს. რეგულარული ACL ჩანაწერების შეყვანის კომპლექტი დააწინაურეს ნაგულისხმები ACL მასალა. ნაგულისხმევ ACL მასალა შეყვანის ნაკრებში უგულებელყოფილია. (გაფრთხილება გაიცემა, თუ ეს მოხდება).

--restore = ფაილი

აღდგენა ნებართვა სარეზერვო მიერ შექმნილი `getfacl -R 'ან მსგავსი. აღნიშნულ მექანიზმთან ერთად აღდგენილია სრული დირექტორია ქვემილის ყველა ნებართვა. თუ შეყვანის შეიცავს მფლობელი კომენტარები ან ჯგუფის კომენტარები და setfacl მართავენ root, მფლობელი და ფლობს ჯგუფის ყველა ფაილი აღდგენილია ასევე. ეს პარამეტრი არ შეიძლება შერეულ სხვა ვარიანტებთან ერთად, გარდა `- ტესტისა».

- საუკეთესო

ტესტური რეჟიმი. იმის ნაცვლად, რომ შეიცვალოს ACLs ნებისმიერი ფაილი, რის შედეგადაც ACLs ჩამოთვლილია.

-R, - რეკურსიული

გამოიყენეთ ოპერაციები ყველა ფაილი და დირექტორიების რეკურსიულად. ეს პარამეტრი არ შეიძლება შერეულ `- რეესტრთან".

-L, --ლოგიკური

ლოგიკური ფეხით, დაიცვას სიმბოლური კავშირები. ნაგულისხმევი საქციელია დაიცვას სიმბოლური ბმული არგუმენტები, და გამოტოვოთ სიმბოლური კავშირები, რომლებიც შეეხება ქვესაქაღალდს. ეს პარამეტრი არ შეიძლება შერეულ `- რეესტრთან".

-P, - ფიზიკურ

ფიზიკური სიარული, გამოტოვოთ ყველა სიმბოლური ბმული. ეს ასევე სიმბოლური ბმული არგუმენტების გამოტოვებს. ეს პარამეტრი არ შეიძლება შერეულ `- რეესტრთან".

--ვერსია

ბეჭდვის ვერსია setfacl და გასასვლელი.

--help

ბეჭდვის დახმარება ბრძანების ხაზის პარამეტრების განმარტებისთვის.

ბრძანების პარამეტრების დასასრული. ყველა დანარჩენი პარამეტრი ინტერპრეტირებულია, როგორც ფაილის სახელები, მაშინაც კი, თუ ისინი იწყება ტირე.

თუ ფაილის სახელი პარამეტრი ერთ ტირეა, setfacl კითხულობს ფაილების ნუსხას სტანდარტული შეყვანისგან.

ACL ENTRIES

Setfacl კომუნალური აღიარებს შემდეგ ACL შესვლის ფორმატებში (ბლანკები ჩასმული სიცხადე):

[დ [efault]:] [u [ser]:] uid [: perms ]

დასახელებული მომხმარებლის ნებართვა. ფაილის მფლობელის ნებართვა თუ UID ცარიელია.

[დ [efault]:] g [roup]: gid [ perms ]

დასახელებული ჯგუფის ნებართვა. მფლობელი ჯგუფის ნებართვა, თუ გრაფა ცარიელია.

[დ [efault]:] მ [ვკითხო] [:] [: perms ]

ეფექტური ნიღაბი

[დ [efault]:] o [ther] [:] [: perms ]

სხვათა უფლებები.

უმეტესობა იგნორირებულია delimiter სიმბოლოებისა და არა-დემიმიტრის სიმბოლოებს შორის.

შესაბამისი ACL მასალა, მათ შორის ნებართვები გამოიყენება მოდიფიცირებასა და კომპლექტი ოპერაციებში. (პარამეტრები- , -მ , --set და --set- ფაილი ). ჩანაწერების წაშლისთვის გამოიყენება ჩანაწერები ნებართვების გარეშე (პარამეტრები -x და -X ).

Uid და gid for თქვენ შეგიძლიათ მიუთითოთ სახელი ან ნომერი.

Perms ველი არის სიმბოლოების სიმბოლოები, რომლებიც მიუთითებენ ნებართვაზე: წაიკითხეთ (r) , ჩაწერეთ (w) , შეასრულოს (x) , შეასრულოს მხოლოდ იმ შემთხვევაში, თუ ფაილი არის დირექტორიაში ან უკვე ახორციელებს ნებართვას ზოგიერთი მომხმარებლისთვის (X) . გარდა ამისა, perms ველი შეიძლება იყოს ოქტალური ციფრი (0-7).

ავტომატურად შექმნილია ელ

თავდაპირველად, ფაილები და დირექტორიები შეიცავს მხოლოდ სამი ძირითადი ACL ჩანაწერების მფლობელს, ჯგუფს და სხვა. არსებობს გარკვეული წესები, რომლებიც უნდა აკმაყოფილებდეს ACL- ს მოქმედების მიზნით:

*

სამი საბაზისო ჩანაწერი ვერ მოიხსნება. თითოეული ამ ბაზის შესვლის ტიპების ზუსტად ერთი ჩანაწერი უნდა იყოს.

*

როდესაც ACL შეიცავს დაასახელა მომხმარებლის მასალა ან დასახელებული ჯგუფის ობიექტები, ის ასევე უნდა შეიცავდეს ეფექტურ უფლებებს ნიღაბს.

*

როდესაც ACL შეიცავს ნებისმიერ ნაგულისხმევ ACL- ს ჩანაწერებს, ასევე უნდა არსებობდეს სამი ნაგულისხმები ACL ბაზის ჩანაწერები (ნაგულისხმევი მფლობელი, ნაგულისხმევი ჯგუფი და ნაგულისხმევი სხვები).

*

როდესაც ნაგულისხმები ACL შეიცავს დაასახელა მომხმარებლის მასალა ან დასახელებული ჯგუფის ობიექტები, ის ასევე უნდა შეიცავდეს ნაგულისხმევი ეფექტურ ნიღბას.

მომხმარებლებისთვის ამ წესების უზრუნველსაყოფად, setfacl ქმნის არსებულ ჩანაწერებს შემდეგ პირობებში:

*

თუ ACL შეიცავს დასახელებულ მომხმარებელს ან დასახელებულ ჯგუფს და არ არსებობს ნიღაბი შესვლისას, ნიღაბი შესვლისას, რომელიც შეიცავენ იმავე ნებართვას, როგორც ჯგუფის ჩანაწერი შეიქმნა. თუ ნ-ის ვარიანტი არ არის გათვალისწინებული, ნიღაბი შესვლის ნებართვა შემდგომში მორგებულია იმაში, რომ შეიცავდეს ყველა ნებართვის კავშირი ნიღაბი შესვლის შედეგად. ( იხილეთ- n ვარიანტი აღწერა).

*

თუ ნაგულისხმევი ACL ჩანაწერი შეიქმნა, და ნაგულისხმები ACL არ არის მფლობელი, მფლობელი ჯგუფი, ან სხვები შესვლის, ასლის მფლობელი ასლი, მფლობელი ჯგუფი, ან სხვები შესვლის დაემატება ნაგულისხმები ACL.

*

თუ ნაგულისხმევი ACL შეიცავს დაასახელა მომხმარებლის ჩანაწერები ან დასახელებული ჯგუფური მასალა და არ არსებობს ნიღაბი შესვლის, ნიღაბი შესვლის შემცველი იგივე უფლებები, როგორც ნაგულისხმები ნაგულისხმები ACL ჯგუფის შესვლის ემატება. თუ ნ-ის ვარიანტი არ არის გათვალისწინებული, ნიღაბი შესვლის ნებართვა შემდგომში მორგებულია ნიღბების ჩანაწერის შედეგად დაზარალებული ყველა ნებართვის გაერთიანებაში. ( იხილეთ- n ვარიანტი აღწერა).

მაგალითები

დამატებითი მომხმარებლის წაკითხვის წვდომის მინიჭება

setfacl -mu: lisa: r ფაილი

წაშალეთ წვდომა ყველა ჯგუფისაგან და ყველა დასახელებული მომხმარებლისგან (ეფექტური ნიღაბის გამოყენებით)

setfacl -mm :: rx ფაილი

ფაილების ACL- დან დასახელებული ჯგუფის შესვლის წაშლა

setfacl -xg: პერსონალის ფაილი

ასლის გადაწერა ერთი ფაილის გადასატანად

getfacl file1 | setfacl --set-file = - file2

ACL- ის წვდომის ნაგულისხმები ACL- ში გადაწერა

getfacl-a dir | setfacl -d -M- რეჟ

კონსულტაცია POSIX 1003.1e DRAFT სტანდარტი 17

თუ გარემოს ცვლადი POSIXLY_CORRECT განისაზღვრება, setfacl ცვლილების ნაგულისხმევი ქცევაა: ყველა არასტანდარტული ვარიანტი გამორთულია. `` Default: '' prefix გამორთულია. -x და -X პარამეტრები ასევე მიიღებენ ნებართვის ველებს (და იგნორირებას უკეთებენ).

იხილეთ ასევე

umask (1),