
Estou tentando usar setfacl
para definir as permissões de diferentes conjuntos de dados ZFS e quero essas permissões ACL equivalentes ao estilo UNIX chmod 770
.
Qual setfacl
comando poderia fazer isso e quais ACLs deveriam ser getfacl
exibidas 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
/ setfacl
em 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).