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

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

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 umaskvocê aplique, você nunca obterá 0750. Até mesmo o vinculador, que cria executáveis, abre arquivos de saída com mode 0666e chmoddepois:

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.

informação relacionada