No começo, crio um arquivo e verifico suas permissões padrão e entradas da ACL:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Em seguida, defino a máscara da ACL no arquivo e verifique novamente suas permissões padrão e entradas da ACL:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Observe que, juntamente com a permissão de grupo padrão da máscara da ACL no arquivo, também foi alterado.
- Que conexão existe entre a máscara ACL e a permissão de grupo padrão?
- Qual é o motivo do acoplamento das permissões da máscara e do grupo de arquivos da ACL? Que lógica existe por trás disso?
As distribuições em questão são o Debian Linux 7.6 e o CentOS 7
EDITAR
Neste ponto, eu só queria compartilhar algumas das minhas descobertas, enquanto pesquisava as relações entre as permissões padrão do grupo de arquivos e a máscara da ACL. Aqui estão as observações empíricas que encontrei:
A máscara da ACL pode ser alterada:
- configurando-o diretamente com o
setfacl -m m:<perms>
comando; - alterando as permissões do grupo de arquivos com o
chmod
comando (se a máscara da ACL já estiver presente; ela pode não estar presente porque é opcional se não houver permissões ACL de usuário ou grupo nomeadas no arquivo); - adicionando a entrada ACL do usuário ou do grupo nomeado (a máscara será recalculada automaticamente).
- configurando-o diretamente com o
A máscara aplicará direitos máximos de acesso (se houver entradas da ACL com permissões presentes que excedam as permissões da máscara da ACL) somente se a máscara for definida diretamente pelo setfacl ou pela modificação da permissão do grupo de arquivos com chmod (não calculado automaticamente). Quaisquer alterações nas entradas da ACL acionarão o recálculo automático da máscara da ACL e desativarão efetivamente o "modo de imposição".
Existem alguns efeitos colaterais que afetam implicitamente as permissões padrão do grupo de arquivos ao usar ACLs:
- A entrada ACL de usuário ou grupo nomeada aplicada a um arquivo pode alterar a máscara da ACL (aumentar suas permissões) e, portanto, as permissões efetivas do grupo de arquivos. Por exemplo, se você, como proprietário do arquivo, tiver permissões "rw-r - r-- jim students" definidas e também conceder permissão rw ao usuário "jack", também implicitamente concederá permissões rw a qualquer pessoa do grupo "alunos".
- A máscara da ACL mais rígida (menos permissões) pode remover permanentemente as permissões de grupo de arquivos padrão correspondentes. Por exemplo, se você tiver um arquivo com permissões padrão de grupo de arquivos rw e aplicar uma máscara ACL somente leitura ao arquivo, as permissões de grupo diminuirão para somente leitura. Se você remover todas as entradas estendidas da ACL (com
setfacl -b
comando), as permissões do grupo permanecerão somente leitura. Isso se aplica apenas a máscaras de ACL mais rígidas, máscaras de ACL mais macias (mais permissões) não alteram permanentemente a permissão do grupo de arquivos original depois que ela é removida.
fonte
Respostas:
Não faz sentido se as permissões do arquivo unix discordam da entrada acl e vice-versa. Assim, a página do manual (
acl(5)
) diz o que você pede:Adendo em resposta à discussão:
Uma boa explicação está aqui . Em essência, a máscara é uma
fonte
chmod
comando para alterar as permissões padrão e vice-versa quando executar, por exemplogetfacl -m u:someuser:rwx
, a permissão de arquivo padrão para o proprietário do arquivo será alterada e a alteração será refletida nals -l
saída. Tudo isso é verdade, mas eu não ver como ele responde a minha pergunta-rw-r--r-- 1 user user
permissões iniciais , a ACL de usuário nomeada será aceita e a máscara ACL (junto com as permissões do grupo de arquivos) também será alterada para rwx. --- [veja o próximo comentário como uma continuação] #-rw-rwxr-- 1 user user
permissões do arquivo ou não? Como você determina a contradição? Comparando as permissões de ACL do testador com a permissão de grupo de arquivos padrão? Que lógica levou você a comparar permissões de grupo com permissões de usuário? Eles não são entidades diferentes? Não é contra-intuitivo? Provavelmente é óbvio para você, mas ainda estou lutando para entender.Finalmente entendi o que exatamente está ocorrendo quando vi este link Manipulando ACLs
Especificamente, essas máscaras basicamente substituem e funcionam para substituir NAMED USER e todas as permissões de GROUP. Isso significa se você:
Espero que isso ajude.
fonte
A lógica é completamente quebrada e, portanto, as ACLs POSIX são um absurdo puro e inútil.
Se eles foram com o objetivo de preservar a compatibilidade com aplicativos que não têm noção de ACLs exceto
padrãoUNIX primitiva' modelo 'Ugo', eles realmente falhou no início, porque agora cada aplicativo que permissões limpa do grupo está efetivamente retirando o acesso adicionado por ACLs.fonte