A máscara ACL não funciona como esperado

5

Se eu copiar um arquivo com uma ACL base de:

u::rw-,g::r--,o::r--

em um diretório com uma ACL padrão de:

u::rwx,g::r-x,g:users:rwx,m::rwx,o::r-x

Eu obtenho um arquivo com a máscara de m::r-- . Eu teria esperado a união das permissões das duas entradas de grupo (por exemplo, m::rwx ).

Por que isso acontece? Depende do parâmetro mode usado por cp na criação do arquivo?

    
por enzotib 12.07.2011 / 12:00

1 resposta

4

(Eu suponho que você esteja trabalhando no Linux, o funcionamento de ACLs é diferente entre variantes unix.)

cp não faz nada de especial quando você copia o arquivo; cria o arquivo com o modo do arquivo original, mascarado pela máscara do diretório. Como cp não faz nada para a máscara do arquivo, a máscara acaba sendo a intersecção da máscara de diretório ( rwx ) e as permissões de grupo do arquivo ( r ).

open("dir/file", O_WRONLY|O_CREAT|O_EXCL, 0644)
    
por 08.08.2011 / 01:52