umask
Colaboração: Gustavo Chaves
Data de Publicação: 19 de Outubro de 2000
As permissões de um arquivo são determinadas pela umask e pelo último argumento (mode) das chamadas de sistema open(2) ou creat(2). A regra é a seguinte:
permissoes = mode AND NOT umask
O AND NOT é diferente de um XOR. A idéia é que os bits em 0 da umask serão sempre desabilitados. Os bits em 1 mantêm o valor de mode.
A confusão com os bits de execução se deve ao fato de que o valor mais usado para o argumento mode é 0666. Editores de texto, por exemplo, normalmente usam este valor ao criarem um novo arquivo.
Compiladores, por outro lado, usam o valor 0777 para criar um arquivo com permissões de execução.