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

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

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

Какая setfaclкоманда могла бы это сделать и какие списки контроля доступа должны 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

По сути, выполнение (x) добавляется для владельца и группы, чтение (r) удаляется для всех, а запись (w) и добавление (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

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

Связанный контент