Geralmente, não. Praticamente todo programa chama open()
(ou creat()
para essa matéria) com o modo 0666
, então, qualquer que seja o umask
que você aplicar, você nunca obterá 0750
. Até mesmo o vinculador, que cria executáveis, abre arquivos de saída com o modo 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 você quiser um comportamento diferente, precisará escrever suas próprias ferramentas ou wrappers em torno das ferramentas existentes que executam a alteração de modo pretendida.