Linux下su與su -命令的區別 在啟動伺服器ntpd服務時遇到一個問題 使用 su root 切換到root用戶後,不可以使用service命令; 使用 su - 後,就可以使用service命令了。 原因: su命令和su -命令區別就是: su只是切換了root身份,但Shell環境仍然是 ...
Linux下su與su -命令的區別
在啟動伺服器ntpd服務時遇到一個問題
使用 su root 切換到root用戶後,不可以使用service命令;
使用 su - 後,就可以使用service命令了。
原因:
su命令和su -命令區別就是:
su只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而su -連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變數錯誤,報command not found的錯誤。
su切換成root用戶以後,pwd一下,發現工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。
用echo $PATH命令看一下su和su - 後的環境變數已經變了。
以此類推,要從當前用戶切換到其它用戶也一樣,應該使用su -命令。