Организация UNIX-систем и ОС Solaris

       

Списки ACL


Стандартные права доступа в UNIX не всегда идеальным образом подходят для решения задач администрирования системы. Например, что сделает администратор, если доступ к файлу на чтение и запись надо дать одной группе пользователей? Конечно, сделает эту группу владелицей файла, а затем делегирует право чтения и записи файла этой группе, вот так:

chgrp нужная_группа файл chmod g=rw файл

А если надо дать право доступа только одному из членов этой группы? Тогда можно создать новую группу специально для этой цели, сделать ее членом только одного пользователя, и затем указать, что эта новая группа будет владеть файлом:

addgroup новая_группа chgrp новая_группа файл chmod g=rw файл #редактируем /etc/group и добавляем в новую группу существующего пользователя vi /etc/group

Такое ухищрение нам помогло, но что делать, если надо дать право чтения, записи и запуска двум разным пользователям, а еще двум - право чтения и записи, а еще одному - только чтения? А всем остальным - вообще не дать доступ к этому файлу? На такой вопрос нет ответа, если вы работаете в "классической" версии UNIX. Однако некоторые современные системы UNIX (например, Solaris Linux и FreeBSD) обладают требуемым механизмом. Это - списки управления доступом к файловой системе, access control lists (ACLs).

Списки управления доступом дают более гибкие возможности назначения прав доступа, чем традиционные права доступа UNIX. С помощью ACL можно назначить как права доступа хозяина файла, группы файла и всех остальных, так и отдельные права для указанных пользователей и групп, а также максимальные права доступа по умолчанию, которые разрешено иметь любому пользователю.

Здесь и далее мы будем называть ACL для файлов и каталогов "расширенными правами доступа". Расширенные права доступа к файлам и каталогам устанавливаются командой setfacl.

Они представляют собой ряд полей, разделенных двоеточиями:

entry_type:[uid|gid]:perms

Здесь entry_type - тип расширенного права доступа, uid и gid - идентификаторы пользователя и группы, соответственно, а perms - собственно назначаемые права доступа.



Содержание раздела