Estou tentando usar o comando sudo e o arquivo sudoers corretamente para poder executar um comando como outro usuário.
Eu tenho meu arquivo sudoers configurado da seguinte maneira:
beans ALL = (root,apache) NOPASSWD: /opt/renovations/var/script-*.sh
root, apache e beans fazem parte do grupo beans.
Também / opt possui 755 permissões, enquanto o diretório / opt / renovations e seus subdiretórios são de propriedade do grupo e usuário beans.
O comando que estou tentando executar como beans é:
sudo -n -u apache -i /opt/renovations/var/script-test.sh
-n: é para que eu não seja solicitado para uma senha, pois isso será executado por um cron
-u: é para que eu possa representar o usuário do apache
-i: é para simular um login e meu perfil está carregado. Eu preciso disso para acessar as variáveis de ambiente no .profile.
O problema é que quando eu executo o comando sudo, recebo a seguinte mensagem:
sudo: sorry, a password is required to run sudo
Eu tentei executar isso tanto no AIX quanto no Ubuntu, mas o problema está nos dois sistemas. Isso funciona se eu correr:
sudo -n -u apache /opt/renovations/var/script-test.sh
Mas sem o -i, meu ambiente não contém todas as variáveis de ambiente que preciso estar lá.
Existe algo que eu preciso atualizar no meu arquivo sudoers para que isso seja possível?