Я пытаюсь использовать setfacl
, чтобы установить разрешения для различных наборов данных ZFS, и мне нужны эти разрешения ACL, эквивалентные UNIX-style ] chmod 770
.
Какая команда setfacl
могла это сделать, и какие ACL должны отображаться getfacl
, если бы я сделал это правильно?
Я бегу. FreeNAS 11.0 с Samba 4.6.4.
Примечание: следующее из системы Solaris, но результаты также должны работать в BSD (где вам нужно вместо этого использовать getfacl
/ setfacl
] of 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) добавляется для владельца и группы, чтение (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
Здесь read (r) и execute (x) удаляются у всех, а владелец и группа имеют те же разрешения, что и в случае с файлом, но с добавленным разрешением delete_child (D) (это происходит от каталога).