Четверг, 24.07.2025, 07:46

Блог Владимира Степанова

Реклама
Статистика
Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Меню
Категории раздела
FreeBSD OpenBSD [1]
Установка [4]
Настройка [21]
WWW [1]
Мелочи [1]
Файловая система [0]
Вход на сайт
Реклама
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Unix системы » Настройка

    Access Control List (acl) - списки контроля доступа

    Access Control List - списки контроля доступа

    Поддерживаемые версии Ubuntu
    Все с ядром 2.4.21 (?) и выше, а также другие OS

    Вступление

    Итак, пришло время задуматься о безопасности вашей сети. В частности о назначении

    прав на каталоги и файлы для пользователей и групп. Стандартные права в

    операционных системах Unix не так гибки, как хотелось бы. К сожалению они годятся для

    использования в простых схемах сети. Например, ситуацию когда к одному и тому же

    каталогу нужно, чтобы несколько групп пользователей имели разные права доступа, не

    реализовать с использованием стандартных прав.


    Для реализации сложных структур прав доступа используются расширенные права - ACL

    (Access control list - cписки контроля доступа).Списки контроля доступом (ACL) дают

    большую гибкость, чем стандартный набор полномочий «пользователь/группа

    /остальные». ACL доступны в коммерческих Unix-системах, таких как IRIX или Solaris (и в

    Windows NT) в течение нескольких лет. В настоящее время, благодаря проекту

    TrustedBSD, ACL доступны в FreeBSD 5.0 и выше, а также в Linux. Возможность

    использования ACL позволяет администратору получить преимущество от использования

    более интеллектуальной модели безопасности.

    Предполагается, что Вы уже знакомы со стандартными правами систем Unix. Если это не
    так, очень рекомендую сначала изучить документацию по ним. От того, насколько
    хорошо вы понимаете управление стандартными правами Unix, будет зависеть понимание
    материала этой статьи.

    Устоявшиеся истины:

    • Каждый пользователь входит в минимум одну группу. Группа, присваиваемапользователю при его создании, называется основной. Все остальные группы в которые будет включен пользователь, будут являться дополнительными.1


    Устоявшиеся истины:

    • Каждый пользователь входит в минимум одну группу. Группа, присваиваема
    • пользователю при его создании, называется основной. Все остальные группы в которые будет включен пользователь, будут являться дополнительными.1
    • Группа пользователей может содержать некоторое количество пользователей, но не может содержать или включаться в другие группы.
    • Группа может быть пустой, т.е. не содержать в себе ни одного пользователя.

    Чтобы добавить пользователя в ту, или иную группу, достаточно отредактировать файл /etc/group:


    syslog:x:103:klog:x:104:scanner:x:105:hplip,allexservnvram:x:106:fuse:x:107:allexserv


    Видно, что в листинге выше в группу scanner входят пользователи hplip и allexserv.

    Чтобы добавить в эту группу еще пользователей, просто перечислите их символьные

    имена через запятую.

    Синтаксис файла прост:

    имя_группы:пароль:GID:список_пользователей

    Итак, основная мысль статьи - это использование расширенных прав ACL.2)

    Включение ACL в системе

    С какой-то там версии Ubuntu, поддержка ACL уже включена и поддерживается ядром.3)

    Но как бы то ни было, по умолчанию, в системе, ACL не активированы. Для того, чтобы

    операционная система начала учитывать списки контроля, необходимо ей об этом

    сказать. Для этого потребуется отредактировать файл /etc/fstab и указать в нем, на каких

    разделах HDD следует учитывать ACL права. Проверить, поддерживает ли тот или иной

    раздел винчестера ACL, можно попытавшись установить эти самые ACL, командой

    setfacl:


    /root > setfacl -m u:allexserv:rw-,g:root:rw- qqqsetfacl: qqq: Operation not supported


    Operation not supported - операция не поддерживается - бодро рапортует вам система!

    Это признак того, что ACL на этом разделе винчестера, где лежит файл qqq не

    активированы. Что ж, давайте отредактируем /etc/fstab и приведем его в должный вид:


    # /etc/fstab: static file system information.## <file system> <mount point> <type> <options> <dump> <pass>proc /proc proc defaults 0 0# /dev/sda1UUID=1b09f304-1772-4a87-bc1c-ee8c6170ef1e / ext3 relatime,errors=remount-ro 0 1# /dev/sda5UUID=95b26917-535e-46ac-8d72-443d46184bb5 /media/Profil ext3 grpquota,acl,suid,dev,usrquota,relatime,exec 0 2# /dev/sda6UUID=759a8adb-ed01-4d4f-b173-9005ad165368 /media/Work ext3 grpquota,acl,suid,dev,usrquota,relatime,exec 0 2# /dev/sda7UUID=f90b3fb0-e515-4b4e-8a1b-dfe7ed269a10 none swap sw 0 0/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0/media/Work/test /export/test bind bind 0


    В тех разделах винчестера, в которых указан дополнительный параметр acl команды

    mount - grpquota,acl,suid - списки контроля будут поддерживаться в полном объеме. В

    моем случае поддержка ACL активирована на разделах /dev/sda5 и /dev/sda6.

    После редактирования файла, лучше не мучаться и перезагрузить сервер, хотя, как

    утверждается в некоторых статьях, достаточно размонтировать раздел и смонтировать его

    вновь (такой номер у меня почему-то не прошел).

    После вышеописанной операции, ACL на соответствующих разделах готовы к работе.

    Утилиты ACL

    Честно говоря, работа с ACL, на первый взгляд, может показаться сложноватой. Но если

    вникнуть в логику управления, то все становится на свои места. Учтите, что манипуляции

    с правами, особенно в сложных схемах, требуют хорошего логического мышления.


    Существуют два типа ACL:

    • ACL для доступа;
    • ACL по умолчанию.

    ACL для доступа — это список управления доступом для заданного файла или каталога.

    Проще говоря - это сами права на объект, которые будут контролировать доступ к этому

    объекту.

    ACL по умолчанию - может быть связан только с каталогом, и, если файл в этом

    каталоге не имеет ACL для доступа, он использует правила, определённые в ACL по

    умолчанию, связанном с каталогом. ACL по умолчанию являются необязательными. ACL

    по умолчанию также можно сравнить с наследованием прав в, простите, Windows NT.


    Управления ACL списками осуществляется всего лишь двумя командами:4)

    • setfacl - используется для назначения, модификации и удаления ACL прав.
    • getfacl - используется для просмотра установленных ACL.

    Несколько слов о взаимодействии других команд (такие как копирование, перемещение,
    архивирование и т.п.) с правами ACL. Вот выдержка из статьи:

    К сожалению, большинство Unix-утилит все еще не поддерживает ACL. Например,

    tar не архивирует и не восстанавливает ACL, в FreeBSD NFS также игнорирует их.

    Ни формат файлов в утилите tar, ни протокол NFS нет ни намека на возможность

    использования ACL. Тем не менее, архивы полного раздела UFS1, сделанные с помощью

    tar или dump, восстанавливают каталог .attribute, и утилита dump в FreeBSD

    модифицирована для для «понимания» UFS2 (включающую ACL). Каталог-скелет

    archivers/star поддерживает ACL. Вы даже можете работать с архивами, созданными

    в Linux и FreeBSD С помощью star и предохраняющей расширенные атрибуты

    (включающие и ACL).

    Но не все так грустно! Перевод статьи был написан в 2006 году (к сожалению до

    оригинала я так и не добрался). В другой же статье, более поздней, сказано:


    Ядро Red Hat Enterprise Linux 4 обеспечивает поддержку ACL для файловой системы

    ext3 и экспортируемых файловых систем NFS. Списки ACL также работают в

    файловых системах ext3, доступных через Samba.…Команды cp и mv копируют и

    перемещают все списки ACL, связанные с файлами и каталогами.


    Хоть большинство стандартных команд, призванных производить операции над файлами,

    уже поддерживают ACL то, например, команды архивирования tar и dumpACL не

    архивируют. Для архивации данных с установленными ACL используется программа star.

    В кратце ее рассмотрим позже.Замечу, что для NFS ACL поддерживаются уже по

    умолчанию. Вообще, успешное использование ACL зависит от поддержки ACL файловой

    системой и поддержки ACL операционной системой на клиентской машине.


    Итак, рассмотрим синтаксис и параметры getfacl и setfacl.

    Утилита getfacl

    О getfacl сильно и говорить нечего. Она выводит листинг ACL прав для указанных

    объектов.

    Примеры использования:

    • getfacl * - отобразит права ACL для всех объектов в текущем каталоге;
    • getfacl sobaka.txt - отобразить ACL для файла sobaka.txt;
    • getfacl kartosh* - отобразит ACL для всех файлов в текущем каталоге, которые начинаются на kartosh;
    • getfacl -R * - отобразит ACL для всех объектов (включая подкаталоги и их содержимое) текущего каталога.

    Чтобы посмотреть, установлены ли ACL на объектах, достаточно воспользоваться

    командой ls -l:


    # Символ "+" в конце списка стандартных прав сообщает о наличии установленных прав ACL:
    root@sytserver:/media/Work/test# ls -l
    итого 28
    drwxrwxrwt 2 root root 4096 2009-07-24 21:20 allex
    -rwxr-x---+ 1 root root 19 2009-07-25 14:45 qwert


    Теперь рассмотрим, что же отобразит команда getfacl:

    root@sytserver:/media/Work/test# getfacl qwert
    # file: qwert
    # owner: root
    # group: root
    user::rwx
    user:child:rw-
    group::r--
    mask::rw-
    other::---

    Из примера видно, что без использования ACL, пользователь child не получил бы права к

    файлу qwert, т.к. не входит в группу root и не является владельцем файла. Права ACL, в

    данном случае, предоставили ему права на чтение и запись этого файла. Давайте

    подробнее разберем листинг getfacl:

    # file: qwert - Имя файла
    # owner: root - Владелец файла (основные права Unix)
    # group: root - Группа файла (основные права Unix)
    user::rwx - Права для владельца файла (основные права Unix)
    user:child:rw- - Права ACL для пользователя child
    group::r-- - Права для группы файла (основные права Unix)
    mask::rw- - Эффективная маска
    other::--- - Права для пользователя "все остальные"

    Что касается ключей getfacl, то есть пара из них которые стоит рассмотреть, но

    рассматривать их будем тогда, когда будем изучать setfacl.

    Утилита setfacl

    Теперь об утилите setfacl. Как уже говорилось выше, утилита setfacl предназначена для

    установки, модификации или удаления ACL.

    Списки ACL можно задать:

    • На уровне пользователей - назначаются ACL конкретным пользователям;
    • На уровне групп - назначаются ACL конкретным группам;
    • С помощью маски эффективных прав - ограничение максимальных прав для пользователей и/или групп;
    • Для пользователей, не включённых в группу данного файла - это т.н. пользователь «Все остальные»;

    Рассмотрим простой синтаксис setfacl:

    setfacl <опции> <ключ> <список правил> <объект>

    • <опции> - задает дополнительные опции;
    • <ключ> - задает режим работы утилиты;
    • <список правил> - собственно, сами правила доступа к объекту;
    • <объект> - объект к которому применяется ACL, в большинстве случаев это файл или каталог.

    Часто используемые ключи:

    Ключ Описание
    --set или --set file*
    - Устанавливает новые указанные права ACL, удаляя все существующие.
    Необходимо, чтобы наравне с задаваемыми правилами ACL были также указаны
    стандартные права Unix, в противном случае будет давать ошибку;
    -m или -M file*
    - Модифицирует указанные ACL на объекте. Другие существующие ACL сохраняются.
    -x или -X file*
    - Удаляет указанные ACL права с объекта. Стандартные права Unix не изменяются.

    * - При использовании -M, - -set, -X - разрешения будут браться из указанного файла file,

    который должен быть заранее подготовлен в формате вывода ACL разрешений командой

    getfacl. Подготовить файл можно либо вручную, в формате вывода getfacl, либо

    использовать команду getfacl -R file > file_out. Где file это файл(ы) или каталог(и) с

    которых нужно снять ACL, а file_out - текстовый файл куда запишутся снятые ACL права.

    Часто используемые опции:

    Опция Описание
    -b- Удаляет все ACL права с объекта, сохраняя основные права;
    -k- Удаляет с объекта ACL по умолчанию. Если таковых на объекте нет,
    предупреждение об этом выдаваться не будет;
    -d- Устанавливает ACL по умолчанию на объект.
    –restore=file- Восстанавливает ACL права на объекты из ранее созданного файла с правами.5)
    -R- Рекурсивное назначение (удаление) прав, тобишь пройтись по всем подкаталогам.

    Формирование списка правил:

    Синтаксис Описание Пример использования
    u:<uid>:<perms>*
    - Назначает ACL для доступа заданному пользователю. Здесь можно указать имя или UID пользователя. Это может быть любой пользователь, допустимый в данной системе.Пример:
    setfacl -m u:allexserv:rw myfile.odt
    g:<gid>:<perms>*
    - Назначает ACL для доступа заданной группе. Здесь можно указать имя или GID группы. Это может быть любая группа, допустимая в данной системе.Пример:
    setfacl -m g:children:r myfile.odt
    m:<perms>*
    - Назначает маску эффективных прав.6)Пример:
    setfacl -m m:rx myfile.odt
    o:<perms>*
    - Назначает ACL для доступа пользователям, не включённым в группу файла. Это пользователь «все остальные», как в стандартных правах Unix.Пример:
    setfacl -m o: myfile.odt

    - убирает все права (отсутствие прав).

    * <perms> - Сами правила для пользователя или группы. Могут принимать значения ( r

    ), ( x ), ( w ), или сочетания друг с другом.

    Примеры использования

    Рассмотрим различные примеры использования назначения, модификации и удаления

    ACL. Выше мы уже выводили листинг, при помощи команды getfacl для файла qwert, на

    котором уже установлены ACL для пользователя child:


    root@sytserver:/media/Work/test# getfacl qwert
    # file: qwert
    # owner: root
    # group: root
    user::rwx
    user:child:rw-
    group::r--
    mask::rw-
    other::---

    Теперь давайте добавим к этому файлу еще пользователя allexserv:


    root@sytserver:/media/Work/test# setfacl -m u:allexserv:rwx qwert
    root@sytserver:/media/Work/test# getfacl qwert
    # file: qwert
    # owner: root
    # group: root
    user::rwx
    user:allexserv:rwx
    user:child:rw-
    group::r--
    mask::rwx
    other::---

    Обратите внимание как изменилась эффективная маска. Все ACL права сложились: у

    пользователя child rw- и у пользователя allexserv rwx. Но маска вовсе не разрешает

    пользователю child иметь право на выполнение (x) файла qwert. Посмотрите, что

    произойдет если принудительно изменить эффективную маску:


    root@sytserver:/media/Work/test# setfacl -m m:r qwert
    root@sytserver:/media/Work/test# getfacl qwert
    # file: qwert
    # owner: root
    # group: rootuser::rwx
    user:allexserv:rwx #effective:r--
    user:child:rw- #effective:r--
    group::r--
    mask::r--
    other::---

    Теоретически, как гласит документация, в данном случае пользователь child не может

    удалить файл (про allexserv ничего не говорю, т.к. он входит в группу root у меня). Но

    проведя тест, пользователь child все-таки удалил файл, правда перед удалением система

    спросила:


    child@sytserver:/media/Work/test$ rm qwert
    rm: удалить защищенный от записи обычный файл `qwert'?

    В то же время попробовал отредактировать файл qwert под пользователем child и

    попытался записать изменения. Здесь система в записи отказала. Вобщем очень странный

    момент.

    Теперь давайте удалим с файла qwert права ACL для пользователя allexserv:


    root@sytserver:/media/Work/test# setfacl -x u:allexserv qwert
    root@sytserver:/media/Work/test# getfacl qwert
    # file: qwert
    # owner: root
    # group: root
    user::rwx
    user:child:rw- #effective:r--
    group::r--
    mask::r--
    other::---

    Чтобы удалить все ACL права с файла можно воспользоваться командой: setfacl -b qwert

    Очевидно, что таким макаром можно назначать и удалять ACL права для пользователей и

    групп на файлы и каталоги.

    Давайте еще рассмотрим т.н. наследованность прав. Если не задано иное, то все объекты

    создаваемые в каталоге у которого есть ACL, не наследуют права ACL c каталога в

    котором они создаются. Но иногда возникают ситуации, когда необходимо, чтобы все

    объекты создаваемые внутри каталога наследовали его ACL права. Это называются ACL

    по умолчанию.

    Задача: создадим каталог Proverka и назначим ему владельца child и группу children

    (разумеется, пользователь и группа должны существовать в системе). Установим ACL

    права для пользователя allexserv и пользователя mysql. Установим ACL по умолчанию на

    каталог Proverka так, чтобы создаваемым объектам внутри него также назначались ACL.


    Создаем каталог, устанавливаем права и владельца:


    root@sytserver:/media/Work/test# mkdir Proverka
    root@sytserver:/media/Work/test# chmod 700 Proverka
    root@sytserver:/media/Work/test# chown child:children Proverka
    root@sytserver:/media/Work/test# ls -l
    итого 24
    drwxrwxrwt 2 root root 4096 2009-07-24 21:20 allex
    drwx------ 2 child children 4096 2009-07-25 23:36 Proverka

    Назначаем ACL права сразу для двух пользователей, перечислив их через запятую:


    root@sytserver:/media/Work/test# setfacl -m u:allexserv:rwx,u:mysql:rwx Proverka
    root@sytserver:/media/Work/test# getfacl Proverka
    # file: Proverka
    # owner: child
    # group: children
    user::rwx
    user:mysql:rwx
    user:allexserv:rwx
    group::---
    mask::rwx
    other::---

    Теперь назначим ACL по умолчанию. При назначении ACL по умолчанию, также

    требуется в обязательном порядке указывать и основные права в виде u::rwx,g::-,o::- где

    u - user - владелец, g - group - группа, o - other - все остальные:


    root@sytserver:/media/Work/test# setfacl -d -m u::rwx,g::-,o::-,u:allexserv:rwx,u:mysql:rwx Proverka
    root@sytserver:/media/Work/test# getfacl Proverka
    # file: Proverka
    # owner: child
    # group: children
    user::rwx
    user:mysql:rwx
    user:allexserv:rwx
    group::---
    mask::rwx
    other::---
    default:user::rwx
    default:user:mysql:rwx
    default:user:allexserv:rwx
    default:group::---
    default:mask::rwx
    default:other::---

    Видно, что появились строки начинающиеся с default. Это и есть права по умолчанию,

    которые будут принимать все создаваемые внутри объекты. Проверим, создав пустой

    файл myfile.txt и подкаталог MyKatalog в каталоге Proverka:


    root@sytserver:/media/Work/test/Proverka# touch myfile.txt
    root@sytserver:/media/Work/test/Proverka# mkdir MyKatalog
    root@sytserver:/media/Work/test/Proverka# getfacl *
    # file: myfile.txt
    # owner: root
    # group: root
    user::rw-
    user:mysql:rwx #effective:rw-
    user:allexserv:rwx #effective:rw-
    group::---
    mask::rw-
    other::---
    # file: MyKatalog
    # owner: root
    # group: root
    user::rwx
    user:mysql:rwx
    user:allexserv:rwx
    group::---
    mask::rwx
    other::---
    default:user::rwx
    default:user:mysql:rwx
    default:user:allexserv:rwx
    default:group::---
    default:mask::rwx
    default:other::---

    Обратите внимание, что каталог MyKatalog не только приобрел ACL, но и также

    приобрел и ACL по умолчанию. Т.е. те объекты, которые будут создаваться в подкаталоге

    MyKatalog тоже будут наследовать ACL по умолчанию.

    Удалить права по умолчанию можно: setfacl -k Proverka.

    Если нужно также удалить права по умолчанию и в подкаталогах, то добавьте ключ -R

    (рекурсия): setfacl -R -k /media/Work/test/Proverka .

    Здесь мы оперировали двумя пользователями. Но ничто не мешает вам оперировать

    также целыми группами пользователей.

    Автоматические операции

    Любой администратор стремится к оптимизации. Понятно, что назначить вручную 100

    объектам одни и те же права - нудное занятие и нецелесообразное. Есть некоторые

    фишечки, которые могут облегчить подобные задачи.

    Копирование ACL прав с одного объекта на другой.

    Принцип прост:

    • Снять ACL c одного объекта
    • Записать их на другой

    В документации приведен следующий пример:


    getfacl file1 | setfacl --set-file=- file2


    Где, file1 - объект с которого снимаем ACL командой getfacl, а далее устанавливаем ACL

    командой setfacl на объект file2. Обратите внимание на запись - -set-file=- в конце указан

    символ »-», который берет информацию от команды getfacl (со стандартного вывода).


    Справедлива будет также такая запись:


    getfacl file1 | setfacl -M- file2


    В этом случае права на file2 не заменяются как при использовании - -set, а добавляются к

    уже существующим правам ACL.

    Копирование прав ACL каталога в права по умолчанию этого же каталога


    getfacl --access dir | setfacl -d -M- dir


    В этом примере getfacl получает все права которые вы установили на каталог dir и

    устанавливает их на этот же каталог dir делая их правами по умолчанию. Очень удобно.

    Обратите внимание на ключ - -access у команды getfacl. При вызове getfacl без

    параметров, она отображает все права ACL, включая права по умолчанию. Здесь же,

    ключ - -access заставляет getfacl показать только права ACL на каталог, а права по

    умолчанию (если таковые имеются у каталога) - скрыть. Обратный ключ - это ключ -d:


    getfacl -d Proverka


    - заставит getfacl показать только права по умолчанию, а права ACL на сам каталог -

    скрыть. Кстати, в нашем примере, с каталогом Proverka, на который мы назначали права

    по умолчанию, чтобы не писать строку:


    setfacl -d -m u::rwx,g::-,o::-,u:allexserv:rwx,u:mysql:rwx Proverka


    можно было бы воспользоваться именно этой фишечкой, как то так:


    getfacl --access Proverka | setfacl -d -M- Proverka


    Результат был бы тот же.

    Вот и все, а вообще, не поленитесь почитать man getfacl, очень занимательно!

    Операции над объектами c ACL

    В заключении хочу еще раз обратить внимание на операции с обектами у которых

    установлены ACL, такие как копирование, перемещение, архивирование. Выше мы уже

    упоминали о них. Некоторые замечания:

    • При перемещении (mv) никаких дополнительных параметров ненужно;
    • При копировании (cp), необходимо использовать ключ -p, в противном случае ACL права будут потеряны;

    Внимание!!!
    По умолчанию графический интерфейс при копировании не учитывает ACL права!

    • При архивировании или распаковке вместо tar используйте утилиту star.

    Утилиту star нужно будет установить из репозиториев: apt-get install star

    Вот некоторые часто используемые опции star:

    Опция Описание
    -cСоздаёт файл архива
    -nОтключает извлечение файлов, используется в сочетании с -x для просмотра списка извлекаемых файлов.
    -rЗаменяет файлы в архиве. Файлы записываются в конец архива, заменяя любые файлы с тем же путём и именем.
    -tВыводит содержимое файла архива.
    -uОбновляет файл архива. Файлы записываются в конец архива, если их ещё не было в архиве или если они новее, чем файлы с тем же именем в архиве.7)
    -xИзвлекает файлы из архива. Если используется с ключом -U и файл в архиве старее, чем соответствующий файл в файловой системе, такой файл не извлекается.
    -helpВыводит наиболее важные параметры.
    -xhelpВыводит менее важные параметры.
    -/Оставляет ведущую косую черту в имени файла при извлечении файлов из архива. По умолчанию она убирается.
    -aclПри создании архива или извлечении файлов, архивирует или восстанавливает все ACL, связанные с файлами или каталогами.

    Пример для архивирования утилитой star с сжатием:

    star -czv -Hexustar -acl -f /tmp/homedir.tgz /media/Profil/home

    Пример для разархивирования в текущий каталог:

    star -xv -Hexustar -acl -f homedir.tgz

    Вот собственно и все, что я хотел рассказать про ACL. Применяйте логику и смекалку и

    все будет хорошо.

    1) Наличие дополнительных групп может также облегчить написание правил
    монтирования ресурсов при входе в систему, например, с использованием модуля
    pam_mount. Почитать можно здесь.

    2) Часть информации взята с этого перевода. Также очень хорошо описан синтаксис
    ACLздесь. Надеюсь, авторы не против, если часть текста я позаимствую из этих статей.

    3) Обратите внимание, что в других операционных системах Unix, например, FreeBSD 5.0
    и выше, потребуются некоторые дополнительные действия по включению ACL. Также,
    возможно, вам потребуется установить пакет acl, использовав следующую команду: sudo
    apt-get install acl
    .

    4) Помимо консольных команд, есть также графическая оболочка для установки ACL
    прав. Приблуда называется eiciel, ее описание можно найти, например, здесь. По-моему,
    по умолчанию приблуда не ставится в системе, так что ставить ее придется из
    репозиториев. Ввиду того, что эта статья ориентирована на системных администраторов,
    рассмотрения графической утилиты здесь не состоится.

    5) Полезно для отката разрешений. Разумеется, необходимо сначала сделать резервную
    копию разрешений в текстовый файл file. Сделать можно либо вручную, в формате
    вывода getfacl, либо использовать команду getfacl -R file > file_out. Где file это файл(ы)
    или каталоги с которых нужно снять ACL, а file_out - текстовый файл куда запишутся
    снятые ACL права.

    6)Маска — это объединение всех разрешений группы-владельца и всех записей
    пользователей и групп. Маска задает максимальные права доступа для всех
    пользователей, за исключением хозяина и групп. Установка маски представляет собой
    самый быстрый путь изменить фактические (эффективные) права доступа всех
    пользователей и групп. Например, маска (r - -) показывает, что пользователи и группы не
    могут иметь больших прав, чем просто чтение, даже если им назначены права доступа на
    чтение и запись. Например, если на файл koshka назначили ACL пользователю allexserv
    c правами (r w x), а эффективную маску выставили в (r x), то пользователь лишается права
    (w), не смотря на то, что по ACL он имеет это право.

    7) Этот параметр работает только если архив представляет собой файл или
    незаблокированную ленту, которую можно стирать.



    Источник: http://help.ubuntu.ru/wiki/access_control_list
    Категория: Настройка | Добавил: Raxxell5059 (11.05.2011)
    Просмотров: 4555 | Теги: howto, администрирование, права доступа, система | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]