Como as permissões básicas do arquivo para umask são 666, é possível fazer com que um arquivo tenha 750 permissões quando criado?
Responder1
Geralmente, não. Praticamente todo programa chama open()
(ou creat()
nesse caso) com mode 0666
, então o que quer que umask
você aplique, você nunca obterá 0750
. Até mesmo o vinculador, que cria executáveis, abre arquivos de saída com mode 0666
e chmod
depois:
strace -f -e file gcc bla.c 2>&1 | fgrep a.out
...
[pid 14096] open("a.out", O_RDWR|O_CREAT|O_TRUNC, 0666) = 3
...
[pid 14096] chmod("a.out", 0755) = 0
Se desejar um comportamento diferente, você precisará escrever suas próprias ferramentas ou wrappers em torno das ferramentas existentes que executam a alteração de modo pretendida.