Читайте также:
|
|
При помощи программы getfacl можно посмотреть список текущих ACL.
getfacl [параметры] файлы
Для установки и удаления ACL используется программа setfacl.
setfacl [параметры] [{-m|-x} ACL] файлы
setfacl [параметры] [{-M|-X} файл] файлы
Для добавления и изменения ACL используется параметр –m.
После –m записывается ACL. Формат записи достаточно простой. Если первый символ u, то добавляются права для указанного после двоеточия пользователя. Если первый символ g — определяются права для группы. Если m — определяется маска. Сами права записываются в символьном виде.
В списке ACL присутствует слово mask. Это не пользователь, а специальная возможность, ограничивающая права доступа. Маска является фильтром, определяющим максимально возможные права доступа. После введения макси напротив пользователей и групп появилось поле, указывающее реальные права доступа. На права владельца, группы и «всех остальных» маска не влияет. Маска влияет только на дополнительных пользователей и дополнительные группы. Для того, чтобы маска заработала, ее необходимо определить явно при помощи setfacl. Иначе она будет «плавающей» и не будет выполнять свои функции. Маску всегда определяют самой последней, после указания прав доступа всех пользователей и групп, иначе она вновь станет «плавающей» (не влияет на установленные права).
Если у файла установлены ACL, определение прав доступа происходит в том порядке, в котором они выводятся программой getfacl.
Программа setfacl предоставляет возможность скопировать ACL одного файла на другой файл. Для этих целей служит параметр --set-file. Например, необходимо скопировать списки доступа файла test в файл newtest. Тогда командная строка будет выглядеть следующим образом:
$ getfacl test | setfacl --set-file=- newtest
Удаление элементов из списка ACL происходит при помощи параметра –x.
$ setfacl -x u:user1 test
Рассмотрим возможные форматы записи ACL.
[d[efault]:][u[ser]:][пользователь][:[+|^]права]
[d[efault]:] g[roup]:[группа][:[+|^]права]
[d[efault]:] m[ask][:[+|^]права]
[d[efault]:] o[ther][:[+|^]права]
default — устанавливает ACL по умолчанию. Имеет смысл только для директории. Если создавать файлы в директории, у которой установлен ACL по умолчанию, то значения ACL копируются во вновь создаваемые файлы.
Если при написании ACL права доступа начинаются с символа +, то эти права добавляются к уже существующим. Если в начале описания прав стоит символ ^, то их значение отнимаются от существующих прав доступа.
У программы setfacl есть еще две интересные опции: –M и –X. Первая изменяет или добавляет ACL, вторая удаляет ACL. В отличии от –m и –x, список ACL передается не в командной строке, а в отдельном файле. Формат файла соответствует выводу программы getfacl.
$ getfacl newtest > aclfile
Теперь установим ACL, записанные в файле aclfile, на файл test.
$ setfacl -M aclfile test
Дата добавления: 2014-12-19; просмотров: 120 | Поможем написать вашу работу | Нарушение авторских прав |