установка прав доступа к файлам и папкам в linux с помошью ACL

Для установки отдельных прав доступа к файлам и папкам в linux для определенных пользователей используются ACL (Access Control List).
Для чего это надо? Например у вас есть шара (/mnt/stor/buh), на которую есть права rwx для группы пользователей «Бухгалтерия». Но вы хотите ограничеть доступ к конкретному файлу или папке внутри этой шары.
Как этим пользоваться:
1. Для просмотра установленных разрешений используется команда getfacl [путь к файлу/папке]
пример: getfacl /mnt/stor/buh/аванс
покажет установленные разрешения на папку «аванс»
2. Для установки разрешений используется команда setfacl
Для модификации или добавления правила используется параметр -m.
-m user:[пользователь]:права[,user:пользователь:права]
-m group:[группа]:права[,group:группа:права]
если пользователь пропущен, то права назначаются владельцу файла.
если группа пропущена, то права назначаются группе-владельцу файла.
пример:
добавить право на чтение/запись файла avans.txt пользователям ivanov и petrov:
setfacl -m u:ivanov:rw,u:petrov:rw /mnt/stor/buh/аванс/аванс.txt
добавить право на чтение/выполнение файла avans.txt группе «Бухгалтерия»:
setfacl -m group:Бухгалтерия:rx /mnt/stor/buh/аванс/аванс.txt
3. Для удаления правила для пользователя или группы используется параметр -x.
пример: удалить права доступа к файлу avans.txt для пользователя petrov.
setfacl -x u:petrov /mnt/stor/buh/аванс/аванс.txt

Рекурсивная установка прав
Для установки прав для всех файлов и директорий внутри директории используется параметр -R. Так как для того, чтобы читать файл необходимы права на чтение r, а для того чтобы читать директорию необходимы права на чтение и выполнение rx, то можно при указании прав вместо х указывать X. Флаг X устанавливает права на выполнение только для директорий и файлов, которые уже имеют право на выполнение. Флаг X вычисляется на момент запуска setfacl, поэтому в default правилах она интерпретируется как x.

установка прав доступа к файлам и папкам в linux с помошью ACL: 3 комментария

  1. MuravevNet

    А на другом хостинге есть сайт, в нем на папку стоят chmod 700 , и файлы в ней не открываются. У меня вопрос. Имеет ли право хостер делать нестандартные интерпретации на своем сервере? Ведь все поставлено с ног на голову. Они объясняют это тем, что Скрипты теперь исполняются от имени пользователя площадки, а не от пользователя wwwserver.

Добавить комментарий