Original article: kbase.redhat.com/faq/docs/DOC-9977.pdf
Translated by Ivan Pesin, June 2009
Списки контроля доступа (Access Control Lists, ACL) предоставляют дополнительные к традиционным правам возможности разграничения доступа к файлам и каталогам. Для того, чтобы использовать ACL, файловая система должна быть смонтирована с параметром acl
:
1 mount -o acl /home
Чтобы установить права доступа для для пользователя или группы, используйте команду setfacl -m
.
Формат команды для установки пользовательского ACL:
1234 setfacl -m u:[имя пользователя]:[права] /каталог/файлПример:setfacl -m u:ray:rx /home/foo.txt
Указанная команда даст пользователю ray
права на чтение и выполнение файла /home/foo.txt
.
Чтобы задать ACL для группы, используйте:
1234 setfacl -m g:[имя группы]:[права] /каталог/файлПример:setfacl -m g:accounting:rwx /finance/foo.txt
Команда в примере даёт группе accounting
права на чтение, запись и выполнение файла /finance/foo.txt
.
ACL по-умолчанию для каталога (этот ACL будет автоматически наследоваться любым файлом и каталогом, созданными в данном каталоге) устанавливается командой:
1234 setfacl -m d:[ug]:[имя пользователя или группы]:[права] /каталогПример:setfacl -m d:u:marketing:rwx /brochures
Эта команда указывает, что любой файл или каталог, созданный в каталоге brochures
, будет автоматически доступен пользователю marketing
на чтение, запись и выполнение.
Для удаления ACL используется команда:
1234 setfacl -x u:[имя пользователя]:[права] /каталог/файлПример:setfacl -x u:ray:rx /home/foo.txt
Команда из примера убирает у пользователя ray
права на чтение и выполнение файла /home/foo.txt
.
Для того, чтобы узнать текущий ACL файла или каталога, используйте команду:
1234 getfacl /каталог/файлПример:getfacl /home/foo.txt
В результате выполнения этой команды выдаётся текущий ACL файла /home/foo.txt
. Выглядит это приблизительно так:
123456789101112 # getfacl /home/foo.txtgetfacl: Removing leading '/' from absolute path names# file: home/foo.txt# owner: root# group: rootuser::rw-user:ray:rxgroup::r--group:marketing:rwxmask::rwxother::r--
За подробной информацией о списках контроля доступа обращайтесь к страницам руководства по командам setfacl
и getfacl
.