天天看點

Linux 系統中使用者切換

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],否則可能會出現環境變量不對的問題。

繼續閱讀