Это довольно широкая тема, и здесь ее слишком много, чтобы ее охватить. Я отсылаю вас к спискам контроля доступа POSIX для Linux, составленным Андреасом Грюнбахером из SuSE Labs. Он довольно хорошо освещает тему и разбивает ее на части, чтобы вы понимали, как работают ACL.
Ваш пример
Теперь давайте посмотрим на ваш пример и разберем его.
- группа (продажи)
- Члены группы продаж (Боб, Джо)
Теперь давайте разберем права доступа к файлу /home/foo/docs/foo.txt
. Списки ACL также включают в себя те же разрешения, с которыми большинство пользователей должны быть знакомы в Unix, в основном биты User, Group и Other. Итак, давайте сначала вытащим их.
user:: r--
group::r--
other::---
Они обычно выглядят так ls -l
:
$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt
Вы можете увидеть, кому принадлежит файл и что за группа, с помощью этих строк ACL:
# owner: jane
# group: executives
Итак, теперь мы разбираемся с мелочами ACL:
user:bob:rw-
user:joe:rwx
group:sales:rwx
Это показывает, что пользователь bob
имеет rw
, а пользователь joe
имеет rwx
. Существует также группа, которая также rwx
похожа на Джо. Эти разрешения, как если бы пользовательский столбец в нашем ls -l
выводе имел 3 владельца (jane, bob и joe), а также 2 группы (топ-менеджеры и продажи). Там нет никакого различия, кроме как они являются ACL.
Наконец mask
строка:
mask::rwx
В этом случае мы ничего не маскируем, это широко открыто. Так что, если пользователи Боб и Джо имеют эти строки:
user:bob:rw-
user:joe:rwx
Тогда это их эффективные разрешения. Если бы маска была такой:
mask::r-x
Тогда их эффективные разрешения будут такими:
user:bob:rw- # effective:r--
user:joe:rwx # effective:r-x
Это мощный механизм для сокращения разрешений, которые предоставляются оптом.
ПРИМЕЧАНИЕ. Владелец файла и другие разрешения не зависят от действующей маски прав; все остальные записи есть! Итак, что касается маски, разрешения ACL являются гражданами второго сорта по сравнению с традиционными разрешениями Unix.
Ссылки