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.