A resposta de Hauke Laging está tentando dizer:
Qualquer programa que crie um arquivo ou diretório especifica o modo (permissões)
que ele quer que o arquivo tenha.
Isso quase sempre é codificado no programa C (ou qualquer idioma usado)
e dificilmente é diretamente acessível ao usuário.
Em seguida, o valor umask
e a ACL padrão podem desativar os bits de permissão, mas não adicioná-los.
O problema é que, enquanto mkdir
especifica um modo de 777 ( rwxrwxrwx
),
quase todos os programas que criam arquivos especificam 666 ( rw-rw-rw-
).
Isso inclui touch
, o shell
(para redirecionamento de E / S; por exemplo, program > file
)
os editores ( vi
, vim
, emacs
, etc…), dd
, split
e assim por diante.
Portanto, você não obterá permissões de rwxrwxrwx
em um arquivo simples imediatamente
na criação (por qualquer um desses programas), não importa o que você faça com as ACLs;
você deve criar o arquivo e, em seguida, chmod
it.
Existem algumas exceções a essa regra:
-
cp
e programas relacionados (por exemplo,cpio
,tar
, etc.) copiar ou recriar um arquivo, que tentará () configurar o novo arquivo para o mesmo modo que o arquivo original. - Compiladores, que criam arquivos executáveis binários, especificam um modo de 777 (pelo menos, se a compilação for bem sucedida), para que o usuário possa realmente executar o programa que acabou de compilar.