Linux 系統中用戶切換(su user與 su - user 的區別)

Linux 系統中用戶切換(su user與 su - user 的區別)

  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參數。

  1. su [user] 和 su - [user]的區別:

su [user]切換到其他用戶,但是不切換環境變量,su - [user]則是完整的切換到新的用戶環境。

如:

[root@rac1 ~]# pwd --當前目錄
/root
[root@rac1 ~]# su oracle --使用su [user]
[oracle@rac1 root]$ pwd --當前目錄沒有改變,還是之前的用戶目錄
/root
[oracle@rac1 root]$ su - oracle --使用su - [user]
Password:
[oracle@rac1 ~]$ pwd --當前目錄變爲當前用戶的家目錄
/home/oracle
[oracle@rac1 ~]$

所以建議大家在切換用戶時,儘量用su - [user],否則可能會出現環境變量不對的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章