É possível tornar os arquivos executáveis pelo proprietário por padrão?

1

Como as permissões da base de arquivos para umask são 666, é possível fazer um arquivo ter 750 permissões quando criado?

    
por Gregory T. Sakas 28.10.2016 / 01:21

1 resposta

1

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.

    
por 28.10.2016 / 15:33