Содержание

setfacl. Назначение, модификация и удаление ACL прав


Man

Использование

setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...

Параметры

Опции Значение
-m, --modify=acl Добавить и модифицировать существующие записи ACL
-M, --modify-file=file Добавить и модифицировать существующие записи ACL взятые из указанного файла
-x, --remove=acl Удалить указанные ACL права взятые из указанного файла
-X, --remove-file=file Удалить указанные ACL права
-b, --remove-all Удалить все ACL права с объекта, сохраняя основные права
-k, --remove-default Удалить с объекта ACL по умолчанию. Если таковых на объекте нет, предупреждение об этом выдаваться не будет
--set=acl Установить новые указанные права ACL, удаляя все существующие. Необходимо, чтобы наравне с задаваемыми правилами ACL были также указаны стандартные права Unix, в противном случае будет давать ошибку
--set-file=file Установить новые указанные права ACL, взятые из указанного файла, удаляя все существующие. Необходимо, чтобы наравне с задаваемыми правилами ACL были также указаны стандартные права Unix, в противном случае будет давать ошибку
--mask do recalculate the effective rights mask
-n, --no-mask don't recalculate the effective rights mask
-d, --default Установить ACL по умолчанию на объект
-R, --recursive Рекурсивное назначение (удаление) прав, тобишь пройтись по всем подкаталогам
-L, --logical logical walk, follow symbolic links
-P, --physical physical walk, do not follow symbolic links
--restore=file Восстанавить ACL права на объекты из ранее созданного файла с правами
--test test mode (ACLs are not modified)
-v, --version Вывод версии
-h, --help Вывод справки

Формирование списка правил

Синтаксис Описание Пример
u:<uid>:<perms>*
Назначает ACL для доступа заданному пользователю. Здесь можно указать имя или UID пользователя. Это может быть любой пользователь, допустимый в данной системе.
setfacl -m u:allexserv:rw myfile.odt

- назначает пользователю allexserv права на чтение и запись.

%g:<gid>:<perms>*
Назначает ACL для доступа заданной группе. Здесь можно указать имя или GID группы. Это может быть любая группа, допустимая в данной системе.
setfacl -m g:children:r myfile.odt

- назначает группе children права на чтение.

m:<perms>*
Назначает маску эффективных прав.
setfacl -m m:rx myfile.odt

- устанавливает фактические максимальные права на чтение и выполнение.

o:<perms>*
Назначает ACL для доступа пользователям, не включённым в группу файла. Это пользователь «все остальные», как в стандартных правах Unix.
setfacl -m o: myfile.odt

- убирает все права (отсутствие прав).