Утилита chacl#

Утилита chacl используется для изменения ACL (Access Control List - список контроля доступа) файлов/каталогов. Изменения применяются для каждого файла, находящегося по указанному пути.

Синтаксис chacl:

chacl <acl/options> <pathname>

Где:

  • <acl/options> - ACL/опции;

  • <pathname> - путь к файлам/каталогам.

Разрешения доступа представлены в виде строк, состоящих из разделенных запятыми предложений в формате tag:name:perm.

tag может принимать значения:

  • user (или u) - указывает, что запись ACL имеет отношение к заданному пользователю;

  • group (или g) - указывает, что запись ACL имеет отношение к заданной группе;

  • other (или o) - указывает, что запись ACL имеет отношение к категории пользователей «other» («прочие»);

  • mask (или m) - указывает, что запись ACL имеет отношение к заданной маске (подробнее см. Утилита umask).

name - это строка, которая является именем пользователя/группы для записи ACL. Пустое поле name в записи пользователя/группы указывает на владельца файла/группы файлов.

perm - это строка формата rwx, где каждый из элементов может быть заменен знаком -, указывающим на отсутствие доступа данного типа, например, r-x, --x, ---.

Часто используемые опции утилиты представлены в таблице ниже.

Опция

Описание

-b

Указывает, что есть два ACL, которые нужно изменить: первый - ACL доступа к файлу, а второй - ACL по умолчанию для каталога

-d

Устанавливает только ACL каталога по умолчанию

-R

Удаляет только ACL доступа к файлу

-D

Удаляет только ACL каталога по умолчанию

-B

Удаляет все ACL

-l

Выводит перечень ACL доступа и, возможно, ACL по умолчанию, связанных с указанными файлами/каталогами

-r

Устанавливает ACL доступа рекурсивно для каждого поддерева, корнем которого является pathname

Примеры использования#

  • Для установки ACL файлу file введите команду:

    chacl u::rwx,g::r-x,o::r-- file
    

    В результате владелец указанного файла будет иметь на него все права, группа - права на чтение и выполнение, а остальные - только на чтение.

  • Для установки ACL файлу resume.xml с указанием конкретного пользователя введите команду:

    chacl u::rw-,g::r--,o::---,u:user1:r--,m::rw- resume.xml
    

    В результате владелец указанного файла будет иметь права на чтение и запись, группа - только на чтение, прочие пользователи доступ не получат, пользователь user1 получит право на чтение. Также будет установлена маска на чтение и запись.