En Red Hat Linux. de mi usuario si emito el comando sudo su -> cambios en root su tomcat --> cambios en el usuario de tomcat
¿Por qué no funciona seguir los comandos en una sola línea? sudo su; su tomcat --> todavía en raíz. No cambia a Tomcat
Respuesta1
los comandos
sudo su; su tomcat
Son dos comandos. El shell ejecutará el primero y cuando se complete ejecutará el segundo. Tenga en cuenta que el shell no pasa el segundo comando como argumento del primer comando.
Cuando salga del primer comando, ejecutará el segundo.
sudo su ; su tomcat
[sudo] password for iain:
root@host:iain]$ exit
exit
Password: <---- this is the prompt from the second su command.
Puede usar sudo para realizar la transición al usuario de Tomcat directamente
sudo -u tomcat <some command>
o utilizar -s
para obtener un caparazón, por ejemplo
whoami
iain
sudo -s -u tomcat
whoami
tomcat
Respuesta2
Cuando divides tus comandos sudo
y su
con un ;
signo, su
se ejecutarán después de que sudo
haya terminado. Es decir, en ese caso ejecuta su
como su usuario normal.
Para lograr el resultado deseado, intente ejecutar todo en un solo comando:
sudo su - tomcat