|
| ||||||||||||
| ||||||||||||
Установка и изменение прав доступаДля начала немного теории (лучше поздно, чем никогда...:)). Список контроля доступа имеется отдельно для каждого inode'а и состоит из нескольких компонентов. Первые три являются копией стандартных (основных) прав доступа к файлу. Они содержатся в единственном экземпляре в ACL и есть у каждого файла в системе изначально:
Следующие два являются дополнительными, устанавливаются для каждого файла в отдельности и могут присутствовать в ACL в нескольких экземплярах:
При установке дополнительных прав доступа, также присваивается значение и элементу ACL_MASK, маске действующих прав доступа (effective rights mask). Значения ACL_MASK определяет лимит значения режима доступа для дополнительных пользователей и групп. Т.е. если режим доступа к файлу у пользователя rwx (чтение, запись, запуск), а маска - r--(только чтение), то у пользователя реально будет только доступ на чтение. По умолчанию (если не указывать конкретно) значение маски равно максимальному доступу среди всех дополнительных пользователей и групп. Каталоги могут также иметь список контроля доступа по умолчанию (Default ACL). В отличие от основного ACL он действует на создаваемые внутри данного каталога файлы и директории. При создании файла внутри такого каталога, файл получает ACL, равный Default ACL этого каталога. А теперь много практики...:) Как я уже говорил, все управление списками контроля доступа производится при помощи двух команд getfacl и setfacl. С помощью getfacl можно просмотреть текущие параметры доступа любого файла. Например, при вызове getfacl /home/dh будет выведено: # file: home/dh # owner: dh # group: root user::rwx group::--- other:--- Это означает, что каталог /home/dh принадлежит пользователю dh, группе root и значение прав доступа к нему 0700. Каталог имеет только основные параметры доступа. Дополнительные параметры доступа не установлены. Первоначально ни у одного файла в системе нет дополнительных параметров доступа. Устанавливаются и изменяются права доступа к файлу при помощи команды setfacl. Для этого используется следующий формат вызова: setfacl -опции ACL_структура, ACL_структура,...,ACL_структура имя_файла имя_файла ... ACL-структура представляет собой одну из следующих конструкций:
Присутствие компонента d (default) в конструкции указывает, что устанавливается Default ACL. При указании режима доступа без модификаторов (+ и ^), предыдущий режим доступа заменяется указанным в конструкции. При использовании модификатора + указанный режим доступа добавляется к существующему, при использовании ^ - удаляется. При использовании нескольких ACL-конструкции в строке запуска они разделяются запятыми. Примеры:
Для установки и изменения ACL используются следующие опции:
Таким образом можно изменять права доступа к любому файлу для любого пользователя и группы. Назад | Содержание | Вперед
|
|
CITForum © 1997–2025