Рубрики
Uncategorized

Список контроля доступа — ACL

Как установить разрешения расширенного файла на Linux, за пределами UGO/RWX. Tagged с Linux, Infosec, Sysadmin, DevOps.

Чтобы улучшить известную схему разрешения 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»