Fiz um executável .sh e o primeiro comando é sudo -i -u user_name
, e depois rodo outros comandos. O problema ao executá-lo (no servidor como root) é que ele troca de usuário e depois não faz mais nada, aí se eu mando um exit
, voltando para o root, ele passa então a executar todos os outros comandos restantes, mas que dá erro já que era pra executar como aquele usuário e não como root.
Bem vindo de volta ao fórum @EduardoChaves!
Esse comportamento é esperado. Quando você usa sudo -i -u user_name
, ele inicia um nova shell como o usuário especificado, com isso, os comandos subsequentes em seu script não serão executados até que essa shell seja encerrada.
Se você deseja executar vários comandos como um usuário diferente, você pode tentar passar todos os comandos para sudo -i -u user_name
de uma vez. Por exemplo:
sudo -i -u user_name << EOF
comando1
comando2
...
EOF
4 curtidas
Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.