Примеры настройки ACL
Типовые примеры настройки списков доступа:
- Предоставление** **прав конкретному пользователю:
Чтобы дать пользователю user1 права на чтение и выполнение файла выполните:
setfacl -m u: user1:rx файл
- Настройка** **прав для группы editors на запись в каталог:
setfacl -m g:editors:rwx каталог
- Удаление записей ACL для файла:
setfacl -b файл
- Установка прав по умолчанию для всех новых файлов в каталоге:
setfacl -m d:u:john:rwx каталог
- Настройка ACL для существующих файлов. В качестве примера используются следующие исходных данные:
- каталог
/media/buh(на поддерживающей ACL файловой системе:ext4,BTRFS,XFSи др.); - группа пользователей
buh(бухгалтерия); - пользователи
ivanova,petrova,sidorova, входящие в группуbuh.
Необходимо всех пользователей из группы buh – ivanova, petrova, sidorova – наделись следующими правами:
- читать файлы в
/media/buh; - создавать новые файлы и каталоги;
- изменять существующие файлы.
Для настройки ACL для существующих файлов нужно выполнить следующие действия:
- Выставить права на каталог
/media/buhдля группыbuh, чтобы ее пользователи могли записывать и читать файлы в этом каталоге:
sudo setfacl -R -m g:buh:rwx /media/buh
Эта команда добавляет права для группы buh на папку /media/buh и все ее подкаталоги и файлы. Опция -R означает, что изменения должны применяться рекурсивно для всех подкаталогов и файлов. Опция -m означает, что изменяются существующие права. Параметр g:buh:rwx означает, что выставляются права для группы buh на чтение, запись и выполнение.
- Проверить, что права настроены правильно, командой:
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, все ее подпапки и файлы в них.
- Автоустановка 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.