Linux下su與su -命令的本質區別

大雄45發表於2023-01-19
su與su -命令的本質區別

我首先是用su命令切換到root身份的,但是執行useradd時,出現錯誤:bash: useradd: command not found。google了一下,原因是在這個用su命令切換過來的root使用者上。

Linux下su與su -命令的本質區別Linux下su與su -命令的本質區別

su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但 環境仍然是普通使用者的Shell;而後者連使用者和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變數錯誤。su切換成root使用者以後,pwd一下,發現工作目錄仍然是普通使用者的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。用echo $PATH命令看一下su和su -以後的環境變數有何不同。以此類推,要從當前使用者切換到其它使用者也一樣,應該使用su -命令。

Linux下su與su -命令的本質區別Linux下su與su -命令的本質區別

Linux就是這樣,有時候配置檔案多了或者少了一個空格,服務就執行不了。細節問題一定要注意,這樣才能少走彎路!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2931469/,如需轉載,請註明出處,否則將追究法律責任。

相關文章