Научете настройката на Linux Command

Setfacl настройва списъци за контрол на достъпа (ACL) на файлове и директории. На командния ред последователност от команди е последвана от поредица от файлове (които от своя страна могат да бъдат последвани от друга последователност от команди ...).

Опциите -m и -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 без полето за perms , освен ако не е дефиниран POSIXLY_CORRECT.

При четене от файлове, използващи опциите -M и -X , setfacl приема изхода, който getfacl произвежда. Има най-много един запис за ACL на ред. След знака на паунда (`# '), всичко до края на реда се третира като коментар.

Ако setfacl се използва на файлова система, която не поддържа ACL, setfacl работи с битовете за разрешение на файлов режим. Ако ACL не се вписва напълно в разрешителните битове, setfacl променя битовете разрешение на файловия режим така, че да отразява ACL колкото е възможно по-близо, записва съобщение за грешка към стандартната грешка и връща с изходно състояние, по-голямо от 0.

Кратък обзор

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] файл ...

setfacl --restore = файл

РАЗРЕШЕНИЯ

Собственикът на файла и процесите, способни на CAP_FOWNER, имат правото да променят ACL на файл. Това е аналогично на разрешенията, необходими за достъп до файловия режим. (На текущите системи Linux, коренът е единственият потребител с възможности CAP_FOWNER.)

НАСТРОИКИ

-b, - премахване на всички

Премахнете всички разширени вписвания в ACL. Основните записи в ACL на собственика, групата и други са запазени.

-k, --remove-default

Премахване на стандартната ACL. Ако няма ACL по подразбиране, не се извеждат предупреждения.

-n, - не-маска

Не преизчислявайте ефективната маска за права. Поведението по подразбиране на setfacl е преизчисляване на вписването на ACL маска, освен ако изрично не е даден запис на маска. Записът на маската е зададен като съюз на всички разрешения на собствената група и всички имени за потребителски и групови записи. (Това са точно записите, засегнати от вписването на маската).

--mask

Да преизчислявате ефективната маска за права, дори ако изрично е дадена запис на ACL маска. (Вижте опцията -n .)

-d, --default

Всички операции се отнасят за стандартната ACL. Редовните записи ACL във входния набор се популяризират в Записи по подразбиране за ACL. Записите по подразбиране за ACL във входния набор се отхвърлят. (Ако това се случи, се издава предупреждение).

--restore = файл

Възстановяване на резервно копие, създадено от `getfacl -R 'или подобно. Всички разрешения на подменю на пълен указател се възстановяват с помощта на този механизъм. Ако входът съдържа коментарите на собственика или коментарите на групата и setfacl се изпълнява от root, собственикът и групата собственици на всички файлове също се възстановяват. Тази опция не може да бъде смесена с други опции освен "--test".

--тест

Тестов режим. Вместо да променяте списъците на ACL на всички файлове, в тях се показват изброените ACL.

-R, - рекурсивен

Прилагайте операции към всички файлове и директории рекурсивно. Тази опция не може да бъде смесена с "--restore".

-L, --logical

Логическа разходка, следвайте символните връзки. Подразбиращото се поведение е да следва символните връзки на аргументите и да пропусне символните връзки, срещани в поддиректорите. Тази опция не може да бъде смесена с "--restore".

-P, - физически

Физическа разходка, пропуснете всички символни връзки. Това също прескача аргументите на символната връзка. Тази опция не може да бъде смесена с "--restore".

--version

Отпечатайте версията на setfacl и изхода.

--помогне

Помощ за отпечатване обясняващ опциите на командния ред.

Край на опциите на командния ред. Всички останали параметри се интерпретират като имена на файлове, дори ако те започват с тире.

Ако параметърът на името на файла е едно тире, setfacl чете списък от файлове от стандартния вход.

ВХОД ВХОД

Помощната програма setfacl разпознава следните формати за въвеждане на ACL (за по-голяма яснота):

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

Разрешения на име на потребител. Разрешения на собственика на файла, ако uid е празен.

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

Разрешения на определена група. Разрешения на собствената група, ако gid е празен.

[d [efault]:] m [пита] [:] [: perms ]

Ефективна маска за права

[d [efault]:] o [ther] [:] [: perms ]

Разрешения на други.

Белият интервал между знаците за разделител и знаците без разделител се игнорира.

Правилните записи в ACL, включително разрешенията, се използват при модифициране и задаване на операции. (опции -m , -M , --set и -set-file ). За заличаване на записите се използват записи без полето Perms (опции -x и -X ).

За uid и gid можете да посочите име или номер.

Полето Perms е комбинация от знаци, обозначаващи разрешенията: read (r) , write (w) , execute (x) , изпълнява само ако файлът е директория или вече е изпълнил разрешение за някой потребител (X) . Като алтернатива, полетата за пермекс може да бъде октална цифра (0-7).

АВТОМАТИЧНО СЪЗДАДЕНИ ВХОДИ

Първоначално файловете и директорите съдържат само трите основни записа за ACL за собственика, групата и други. Има някои правила, които трябва да бъдат изпълнени, за да бъде ACL валидна:

*

Трите основни записи не могат да бъдат премахнати. Трябва да има точно едно вписване на всеки от тези типове базови влизания.

*

Когато ACL съдържа имена на потребителски записи или имена на групи обекти, тя трябва да съдържа и ефективна маска за права.

*

Когато ACL съдържа записи по подразбиране за ACL, трябва да съществуват и трите вписвания по подразбиране на основната ACL (по подразбиране собственик, група по подразбиране и други по подразбиране).

*

Всеки път, когато стандартната ACL съдържа имена на потребителски записи или именирани групови обекти, тя трябва да съдържа и ефективна маска за правата.

За да помогне на потребителя да осигури тези правила, setfacl създава записи от съществуващи записи при следните условия:

*

Ако ACL съдържа имена на потребителски или именирани групови записи и няма записи за маска, се създава запис от маска, съдържащ същите разрешения, като записите в групата. Освен ако не е зададена опцията -n , разрешенията на маската ще бъдат допълнително коригирани така, че да включват обединението на всички разрешения, засегнати от маската. (Вижте описанието на опцията -n ).

*

Ако е създаден запис по подразбиране за ACL и подразбиращата се ACL не съдържа запис на собственик, собственост или други, копие от собственика на ACL, собствената група или други данни се добавя към стандартната ACL.

*

Ако ACL по подразбиране съдържа имена на потребителски записи или имена на записи в група и не съществува запис на маска, се добавя запис на маска, съдържащ същите права, както и подразбиращата се по подразбиране група ACL. Освен ако не е зададена опцията -n , разрешенията за влизането в маската се коригират допълнително, за да се включат всички единици, засегнати от влизането в маската. (Вижте описанието на опцията -n ).

ПРИМЕРИ

Предоставяне на допълнителен достъп за четене на потребители

setfacl -mu: lisa: r файл

Отменяне на достъп за писане от всички групи и всички посочени потребители (използвайки ефективната маска за права)

setfacl -mm :: rx файл

Премахване на името на група от ACL на файл

setfacl -xg: файл на персонала

Копиране на ACL на един файл в друг

getfacl файл1 | setfacl --set-file = - файл2

Копиране на ACL за достъп в стандартната ACL

getfacl -a dir | setfacl -d -M- реж

СЪОТВЕТСТВИЕ С POSIX 1003.1e ПРОЕКТ НА СТАНДАРТ 17

Ако се дефинира променливата POSIXLY_CORRECT за околната среда, поведението по подразбиране на setfacl се променя както следва: Всички нестандартни опции са деактивирани. Предварителният прозорец `` default '' е деактивиран. Опциите -x и -X също приемат полета за разрешение (и ги игнорират).

ВИЖТЕ СЪЩО

umask (1),