su 和 su 的區別

2021-10-02 02:29:27 字數 963 閱讀 6909

問題場景: 乙個用root 使用者啟動的專案執行了好久,突然停了,我先登入使用者a,然後su root ,在啟動專案,程式執行過程中 報

-bash: ansible: command not found,命令找不到,也就是沒有環境變數

第一步 驗證ansible 是否真的不能執行

第二步 查詢ansible 所在的位置

whereis ansible

ansible: /etc/ansible /usr/local/bin/ansible

第三步 ansible 應該就在/usr/local/bin/目錄下,檢視有沒有將該環境變數新增到環境變數中

echo $path

環境變數中的確沒有/usr/local/bin

第四步 將該目錄新增到環境變數中去,正好問了一下同事,同事說不應該呀,前幾天還有環境變數,怎麼會突然沒有環境變數了,他然後他 執行

su - root

ansible

可以正常執行

然後檢視環境變數

echo $path

可以看到/usr/local/bin 已經在環境變數中

su root 和su - root 同樣都是切換到root 使用者,竟然通過echo $path 檢視到的環境變數不一樣,通過查資料發下

su 和su - 主要有以下不同:

1 su root 只是切換到root 身份,具有了root許可權,環境變數分為使用者環境變數和系統環境變數,當前的使用者環境變數仍然為 之前的使用者環境變數,而非root 使用者的環境變數。 su - root ,不僅切換到root 身份,具有了root許可權,使用者的環境變數也為root使用者的環境變數。

2 su root 當前的工作目錄仍然為原來使用者的工作目錄  ,su - root 當前的工作目錄將會切換為root使用者的工作目錄。

su 和su 的區別

剛才用su到root後,用命令gedit發現會出錯 gedit 2976 warning 連線已關閉 gedit 2976 eggsmclient warning failed to connect to the session manager none of the authentication ...

su 和su的區別

joe為普通使用者,root為超級使用者。現象如下 joe trixbox1 su 口令 ifconfig bash ifconfig command not found su命令格式 su p c command username 在切換當前使用者時切換使用者工作環境 p 在切換當前使用者時不切換...

su 和 su 的區別

su命令和su 命令最大的本質區別 su命令和su 命令最大的本質區別就是 前者只是切換了root身份,但shell環境仍然是普通使用者的shell 而後者連使用者和shell環境一起切換成root身份了。只有切換了shell環境才不會出現path環境變數錯誤。su切換成root使用者以後,pwd一...