ACL в Solaris

В последних предыдущих версиях Solaris поддерживалась реализация списков ACL, в первую очередь основанная на спецификации списков ACL согласно проекту стандарта POSIX. Списки ACL на основе проекта POSIX используются для защиты файлов UFS. Они преобразуются в версиях NFS, предшествующих версии 4.

При внедрении NFSv4 новая модель списков ACL полностью поддерживает возможности совместного функционирования клиентов UNIX и не UNIX, обеспечиваемые NFSv4. Новая реализация списков ACL согласно спецификации NFSv4 обеспечивает расширенную семантику на основе списков ACL типа NT.

Ниже приведены основные отличия новой модели списков ACL.

— Списки ACL основаны на спецификации NFSv4 и похожи на списки ACL типа NT.
— Более структурированный набор прав доступа. Дополнительная информация приведена в Таблица 8–2.
— Они настраиваются и отображаются с помощью команд chmod и ls, а не setfacl и getfacl.
— Расширенная семантика наследования для обозначения способа применения прав доступа от каталогов к подкаталогам и т. д.

Списки ACL на основе проекта POSIX используют одну запись для определения разрешений и запретов. В новой модели списков ACL имеются два типа записей ACE, влияющих на проверку доступа: ALLOW и DENY. Нельзя наследовать от любой одиночной записи ACE, определяющего набор разрешений, независимо от того, были ли разрешения, не определенные в данной записи ACE, разрешены или отвергнуты.

При попытке установки списков ACL на основе проекта POSIX для файла ZFS появятся следующие сообщения:

# getfacl filea
File system doesn't support aclent_t style ACL's.
See acl(5) for more information on Solaris ACL support.

Правильно это делать так:

# ls -dv folder1
drwxr-xr-x+  4 user1     staff          9 Sep  4 13:17 folder1
     0:user:user1:list_directory/read_data/add_file/write_data
         /add_subdirectory/append_data/read_xattr/write_xattr/execute
         /delete_child/read_attributes/write_attributes/read_acl
         /synchronize:file_inherit/dir_inherit/inherited:allow
     1:user:webservd:list_directory/read_data/read_xattr/execute
         /read_attributes/read_acl/synchronize:file_inherit/dir_inherit
         /inherited:allow
     2:user:user2:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:file_inherit/dir_inherit/inherited:allow
     3:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
         /append_data/read_xattr/write_xattr/execute/delete_child
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     4:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
# ls -dV folder1
drwxr-xr-x+  4 user1    staff          9 Sep  4 13:17 folder1
             user:user1:rwxp-DaARWc--s:fd----I:allow
          user:webservd:r-x---a-R-c--s:fd----I:allow
             user:user2:r-x---a-R-c--s:fd----I:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

Подробнее можно прочесть здесь

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *