Примеры настройки ACL

Типовые примеры настройки списков доступа:

  1. Предоставление** **прав конкретному пользователю:

Чтобы дать пользователю user1 права на чтение и выполнение файла выполните:

setfacl -m u: user1:rx файл
  1. Настройка** **прав для группы editors на запись в каталог:
setfacl -m g:editors:rwx каталог
  1. Удаление записей ACL для файла:
setfacl -b файл
  1. Установка прав по умолчанию для всех новых файлов в каталоге:
setfacl -m d:u:john:rwx каталог
  1. Настройка ACL для существующих файлов. В качестве примера используются следующие исходных данные:
  • каталог /media/buh (на поддерживающей ACL файловой системе: ext4, BTRFS, XFS и др.);
  • группа пользователей buh (бухгалтерия);
  • пользователи ivanova, petrova, sidorova, входящие в группу buh.

Необходимо всех пользователей из группы buh – ivanova, petrova, sidorova – наделись следующими правами:

  • читать файлы в /media/buh;
  • создавать новые файлы и каталоги;
  • изменять существующие файлы.

Для настройки ACL для существующих файлов нужно выполнить следующие действия:

  1. Выставить права на каталог /media/buh для группы buh, чтобы ее пользователи могли записывать и читать файлы в этом каталоге:
sudo setfacl -R -m g:buh:rwx /media/buh

Эта команда добавляет права для группы buh на папку /media/buh и все ее подкаталоги и файлы. Опция -R означает, что изменения должны применяться рекурсивно для всех подкаталогов и файлов. Опция -m означает, что изменяются существующие права. Параметр g:buh:rwx означает, что выставляются права для группы buh на чтение, запись и выполнение.

  1. Проверить, что права настроены правильно, командой:
sudo getfacl /media/buh

В выводе на экран должно быть примерно следующее:

file: /media/buh/
owner: <owner>
group: buh
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:buh:rwx
default:other::r-x

В этом выводе для группы buh выставлены права на чтение, запись и выполнение, и группа buh имеет права на чтение и запись файлов в папке /media/buh, все ее подпапки и файлы в них.

  1. Автоустановка ACL для создаваемых файлов и папок. Ключ -d в команде setfacl позволяет установить ACL по умолчанию на вновь создаваемые файлы и папки в указанной директории.

Для того, чтобы установить права по умолчанию для группы buh на каталог /media/buh, нужно выполнить следующую команду:

sudo setfacl -R -d -m g:buh:rwx /media/buh

Здесь ключ -d указывает, что устанавливается ACL по умолчанию, а ключ -m указывает, что изменяются существующие права. Аргумент g:buh:rwx задает права для группы buh на чтение, запись и выполнение. Теперь при создании новых файлов и подкаталогов в каталоге /media/buh они будут автоматически получать ACL с правами, выставленными по умолчанию.

Чтобы проверить, что ACL по умолчанию настроены правильно, нужно выполнить команду:

sudo getfacl /media/buh

В выводе должно быть примерно следующее:

file: /media/buh/
owner: <owner>
group: buh
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:buh:rwx
default:other::r-x

В этом выводе строка "default:group:buh:rwx" указывает, что группа buh имеет права на чтение, запись и выполнение для всех вновь создаваемых файлов и подкаталогов в каталоге /media/buh.