define todos os arquivos executáveis como executáveis por todos os usuários, mas deixa o arquivo não executável não executável?

1

Eu tenho um diretório de propriedade do root, depois de copiar arquivos nele. Todos os arquivos exe só podem ser executados como root. Mas gostaria que todos pudessem executá-lo. Certamente, eu posso usar chmod -R u=rwX,g=rX,o=rX toda vez que eu adicionar novos arquivos a ele. No entanto, isso é muito chato. Existe alguma coisa que eu possa definir no diretório para permitir automaticamente que todos os usuários executem o exe?

    
por Wang 21.10.2016 / 21:21

1 resposta

2

Usando umask 0022 antes de fazer a cópia, você obterá todos os arquivos novos com -rw-r--r-- permissões por padrão, mas os arquivos poderão ser executados somente invocando diretamente chmod + x neles.

Você pode usar o comando abreviado: chmod -R a+rX directory para fazer isso manualmente.

Para definir automaticamente todas as permissões de arquivo, você pode usar inotifywait assim:

inotifywait -qm <directory> -e create -e moved_to -e modify \
 | while read a b c; do chmod a+rX "${a}${c}"; done
    
por 21.10.2016 / 22:59