Escreva um script de shell e conceda as permissões de usuários aplicáveis para invocá-lo com o sudo. Use a diretiva NOPASSWD
se você não quiser que os usuários tenham que digitar sua senha (note que a ordem é importante, veja Como executar um programa específico como root sem um prompt de senha? ).
Verifique se o sudo está configurado para remover todas as variáveis do ambiente, exceto algumas que são seguras (por exemplo, LC_*
e LANG
). Este é o caso, por padrão, no Ubuntu, assim, no Ubuntu, você não precisa da linha Defaults
, a menos que você tenha alterado a configuração env_reset
.
Defaults!/usr/local/bin/fix-our-permissions env_reset
%our-app-maintainers ALL = NOPASSWD: /usr/local/bin/fix-our-permissions
Como alternativa, peça às pessoas que acessem a área de implantação por meio de um sistema de arquivos que imponha propriedade e permissões fixas, como bindfs . Consulte Alterar automaticamente a permissão do arquivo ao escrever para uma pasta e Todos os arquivos criados no diretório devem ser propriedade de bob
Mas, na verdade, ninguém deve estar implantando manualmente. A implantação deve ser acionada manualmente, mas deve ser executada por um serviço automatizado que é executado em uma conta de usuário do sistema, obtém uma versão do IC, faz o download e reinicia o daemon.