su 後面不加使用者,代表預設是切換到 root 的權限
su 是不改變目前的環境變數
su – 後面不加使用者,代表預設是切換到 root 的權限與環境變數
su – user 是改變為切換到使用者的權限與環境變數
也就是說su只能獲得root的執行權限,不能獲得環境變數
而su – 是切換到root並獲得root的環境變量及執行權限
 
語法:
su [user_name]
su 可以用來交互地更改你的使用者ID和組ID。 Su是switch user 或set user id的一個縮寫。切換成為新的使用者 ID 和賦予你存取與這個使用者ID 關聯所有文件的存取權限。因此,出於安全的考慮,你在實際轉換身份時,會被要求輸入這個使用者帳號的密碼。
如果沒有參數,su 命令會將你轉換為 root(系統管理員),因為這個使用者可以存取系統中的任何文件。也正是這個原因,許多人將su命令看成是 supper-user(超級使用者)的一個縮寫。當然,你必須要提供 root密碼。 想要回到你原先的使用者身份,不要再使用 su 命令,你只需要使用 exit命令退出root
 
單單用 su 來成為 root 時,執行 /usr/local/sbin/、/usr/sbin、或 /sbin 內的指令便會導致 command not found 這個錯誤
嘗試執行一個指令(例如:ifconfig),然後收到一個 ‘command not found’ 的錯誤
所以需要改換成 su – root
 
su – [user_name]
是改變為切換到使用者的權限與環境變數

Tags: , , ,