Como usar setfacl no conjunto de dados ZFS para definir o equivalente ao chmod 770 no estilo UNIX?

Como usar setfacl no conjunto de dados ZFS para definir o equivalente ao chmod 770 no estilo UNIX?

Estou tentando usar setfaclpara definir as permissões de diferentes conjuntos de dados ZFS e quero essas permissões ACL equivalentes ao estilo UNIX chmod 770.

Qual setfaclcomando poderia fazer isso e quais ACLs deveriam ser getfaclexibidas se eu fizesse isso corretamente?

Estou executando o FreeNAS 11.0 com Samba 4.6.4.

Responder1

Nota: o seguinte é de um sistema Solaris, mas os resultados também devem funcionar no BSD (onde você precisa usar getfacl/ setfaclem vez de ls/ chmod).


As permissões padrão de um arquivo recém-criado (texto)arquivosão:

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

Se você usar chmod 0770 /path/to/file, você obterá:

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

Essencialmente, execute (x) é adicionado para proprietário e grupo, leitura (r) é removida de todos e gravação (w) e acréscimo (p) são adicionados ao grupo.


Paradiretório, fica assim:

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

E após a modificação:

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

Aqui, ler (r) e executar (x) são removidos de todos, enquanto o proprietário e o grupo têm as mesmas permissões que no caso do arquivo, embora com a permissão delete_child (D) adicionada (isto vem de ser um diretório).

informação relacionada