definir todos os arquivos executáveis ​​como executáveis ​​por todos os usuários, mas deixar o arquivo não executável não executável?

definir todos os arquivos executáveis ​​como executáveis ​​por todos os usuários, mas deixar o arquivo não executável não executável?

Eu tenho um diretório de propriedade do root, depois de copiar os arquivos para ele. Todos os arquivos exe só podem ser executados como root. Mas eu gostaria que todos pudessem executá-lo. Certamente, posso usar chmod -R u=rwX,g=rX,o=rXsempre que 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?

Responder1

Usando umask 0022antes de fazer a cópia, você obterá todos os novos arquivos com -rw-r--r--permissões por padrão, mas os arquivos podem se tornar executáveis ​​apenas invocando diretamente chmod +x neles.

Você pode usar o comando abreviado: chmod -R a+rX directorypara 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

informação relacionada