
Я пытаюсь использовать его 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) (это происходит из-за того, что это каталог).