Как использовать setfacl в наборе данных ZFS для установки эквивалента chmod 770 в стиле UNIX?

Я пытаюсь использовать setfacl установить разрешения для различных наборов данных ZFS, и я хочу, чтобы эти разрешения ACL были эквивалентны UNIX-стилю chmod 770,

Какие setfacl команда может выполнить это, и какие ACL должны getfacl показать, если я должен был сделать это правильно?

Я использую FreeNAS 11.0 с Samba 4.6.4.

1 ответ

Примечание: следующее из системы Solaris, но результаты также должны работать на BSD (где вы должны использоватьgetfacl/ setfaclвместоls/chmod).


Разрешения по умолчанию для вновь созданного (текстового) файла:

   owner@:rw-p--aARWcCos:-------:allow
   group@:r-----a-R-c--s:-------:allow
everyone@:r-----a-R-c--s:-------:allow

Если вы используете chmod 0770 /path/to/file, ты получишь:

   owner@:rwxp--aARWcCos:-------:allow
   group@:rwxp--a-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow

По существу, execute (x) добавляется для владельца и группы, read (r) удаляется из всех, а write (w) и append (p) добавляются в группу.


Для каталога это выглядит следующим образом:

   owner@:rwxp-DaARWcCos:-------:allow
   group@:r-x---a-R-c--s:-------:allow
everyone@:r-x---a-R-c--s:-------:allow

И после модификации:

   owner@:rwxp-DaARWcCos:-------:allow
   group@:rwxp-Da-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow

Здесь read (r) и execute (x) удаляются из всех, в то время как владелец и группа имеют те же разрешения, что и в случае с файлом, хотя с добавленным разрешением delete_child (D) (это происходит из-за того, что он является каталогом).

Другие вопросы по тегам