在紅帽linux下。如果我發出命令 sudo su -> 更改為 root su tomcat --> 更改為 tomcat 用戶,則來自我的用戶
為什麼在單行中新增命令不起作用?須藤蘇; su tomcat --> 仍然在 root 中。不切換到tomcat
答案1
命令
sudo su; su tomcat
是兩個命令。 shell 將運行第一個,完成後將運行第二個。請注意,shell 不會將第二個命令作為參數傳遞給第一個命令。
當您退出第一個命令時,它將運行第二個命令
sudo su ; su tomcat
[sudo] password for iain:
root@host:iain]$ exit
exit
Password: <---- this is the prompt from the second su command.
可以使用sudo直接過渡到tomcat用戶
sudo -u tomcat <some command>
或用於-s
取得外殼,例如
whoami
iain
sudo -s -u tomcat
whoami
tomcat
答案2
當您用符號分隔您的sudo
和su
命令時,將在完成後執行。即在這種情況下,您以普通使用者身分執行。;
su
sudo
su
為了達到您想要的結果,請嘗試用一個命令執行整個過程:
sudo su - tomcat