por que sudo su; su tomcat não muda para o usuário do tomcat?

3

No Redhat linux. do meu usuário se eu emitir o comando sudo su - > muda para a raiz su tomcat - > mudanças no usuário do tomcat

Por que seguir os comandos em uma única linha não funciona? sudo su; su tomcat - > stil na raiz. Não muda para o tomcat

    
por prashanth 14.05.2014 / 17:25

2 respostas

9

Os comandos

sudo su; su tomcat

são dois comandos. O shell executará o primeiro e quando ele for concluído, executará o segundo. Observe que o shell não passa o segundo comando como um argumento para o primeiro comando.

Quando você sair do primeiro comando, ele executará o segundo

sudo su ; su tomcat
[sudo] password for iain:
root@host:iain]$ exit
exit
Password: <---- this is the prompt from the second su command.

Você pode usar o sudo para fazer a transição diretamente para o usuário do tomcat

sudo -u tomcat <some command>

ou use -s para obter uma capa, por exemplo

whoami
iain
sudo -s -u tomcat 
whoami
tomcat
    
por 14.05.2014 / 17:33
5

Quando você divide seus comandos sudo e su com um sinal ; , o su será executado após a conclusão do sudo . Ou seja Nesse caso, você executa o su como seu usuário normal.

Para alcançar o resultado desejado, tente executar o todo em um comando:

sudo su - tomcat
    
por 14.05.2014 / 17:34