1. Linux系統中使用者切換的指令為su,文法為:
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
參數說明
-f , –fast:不必讀啟動檔案(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。
-l , –login:加了這個參數之後,就好像是重新登陸一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并
且工作目錄也會改變。如果沒有指定USER,預設情況是root。
-m, -p ,–preserve-environment:執行su時不改變環境變數。
-c command:變更賬号為USER的使用者,并執行指令(command)後再變回原來使用者。
–help 顯示說明檔案
–version 顯示版本資訊
USER:欲變更的使用者賬号,
ARG: 傳入新的Shell參數。
2. su [user] 和 su - [user]的差別:
su [user]切換到其他使用者,但是不切換環境變量,su - [user]則是完整的切換到新的使用者環境。
如:
[[email protected] ~]# pwd --目前目錄
/root
[[email protected] ~]# su oracle --使用su [user]
[[email protected] root]$ pwd --目前目錄沒有改變,還是之前的使用者目錄
/root
[[email protected] root]$ su - oracle --使用su - [user]
Password:
[[email protected] ~]$ pwd --目前目錄變為目前使用者的家目錄
/home/oracle
[[email protected] ~]$
是以建議大家在切換使用者時,盡量用su - [user],否則可能會出現環境變量不對的問題。