Чтобы улучшить известную схему разрешения Linux Ugo
/ RWX
Позволяя нам устанавливать различные разрешения для различных отдельных пользователей или групп, мы можем использовать список контроля доступа — ACL.
Требования
Файловая система, в которой хранятся файлы, которые вы хотите установить ACL, должны быть установлены с поддержкой ACL. Вы можете проверить это, работая:
mount /dev/xvda1 | grep attr /dev/xvda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
Мы можем увидеть attr2
что указывает на то, что эта файловая система поддерживает расширенные атрибуты — ACLS. Если вы не видите эту опцию для своей файловой системы или если вы видите NoAcl
, вы можете исправить это в /и т. Д./FSTAB
Добавление или удаление присвоенных параметров и снятие файловой системы:
mount /dev/xvda1 -o remount
Вы не можете перенастроить корень /
файловая система. Вы должны перезагрузить машину, чтобы получить новые параметры.
Использование ACLS
Представьте, что у нас есть эти две группы и 5 пользователей:
разработчики
:Эйлер
,Коллин
,Эрик
OPS
:Родриго
,Джонас
И у нас есть папка проекта, которая разработчики
иметь полный доступ к нему:
groupadd dev groupadd ops useradd euler useradd colleen useradd rodrigo useradd jonas usermod -aG devs euler usermod -aG devs colleen usermod -aG devs eric usermod -aG ops rodrigo usermod -aG ops jonas mkdir /var/projectX touch /var/projectX/main.py chown -R euler.devs /var/projectX chmod -R 770 /var/projectX
Но что, если мы хотим предоставить доступ к пользователю, который не в разработчики
группа? Мы могли бы создать новую группу, которая включает в себя всех необходимых пользователей, но она станет грязно быстро.
С помощью ACL мы можем предоставить отдельным пользователям доступ к файлам и каталогам. Следовательно, чтобы добавить разрешение на записи Jonas в main.py
файл:
setfacl -m u:jonas:rw /var/projectX/main.py setfacl -m u:jonas:rx /var/projectX
ОК, Джонас
теперь есть доступ к чтению и ввести /var/projectx
папка, а также написать в main.py
.
Мы можем проверить на наличие ACL в файле, запустив getfacl
Команда:
getfacl /var/projectX/main.py getfacl: Removing leading '/' from absolute path names # file: var/projectX/main.py # owner: euler # group: dev user::rwx user:jonas:rw- group::rwx mask::rwx other::---
Мы можем удалить вышеуказанные замены ACLS -m
для -x
, или использование -b
Чтобы удалить все ACL из файла или каталога:
setfacl -b /var/projectX
Я надеюсь, что вы узнали немного о Linux ACLS, вы можете узнать больше на Установка доступа к ACLS Анкет
Оригинал: «https://dev.to/rodrigosyscop/access-control-list-acl-1im2»