su root 與 su - root 的區別

su - root 是切換到root賬號使用,使用的是root用戶的環境變量;
su root 則是取得root的特權,以root的身份執行程序,但保留原來用戶環境。

說明:有些命令即使你使用su root切換到root用戶,仍無法執行,所以切換到root用戶時,建議使用su - root。

 

su - root  is   the same as su -

just like login as root, then the shell is login shell,
which mean it will expericene a login process,
usually .bash_profile and .bashrc will be sourced

su  root    is    the same as su
like you open an interactive shell in root name,
then only .bashrc will be sourced.


su  後面不加用戶是默認切到 root
su  是不改變當前變量
su - 是改變爲切換到用戶的變量 
也就是說su只能獲得root的執行權限,不能獲得環境變量

而su -是切換到root並獲得root的環境變量及執行權限

語法:

$ su [user_name] 
su  命令可以用來交互地更改你的用戶ID和組ID。  Su是switch user 或set user id的一個縮寫。這個命令讓你開啓一個子進程,成爲新的用戶 ID 和賦予你存取與這個用戶ID 關聯所有文件的存取權限。因此,出於安全的考慮,你在實際轉換身份時,會被要求輸入這個用戶帳號的密碼。  
如果沒有參數,su 命令將你轉換爲 root(系統管理員)。root 帳號有時也被稱爲超級用戶,因爲這個用戶可以存取系統中的任何文件。也正是這個原因,許多人將su命令看成是 supper-user(超級用戶)的一個縮寫。當然,你必須要提供 root密碼。  想要回到你原先的用戶身份,不要再使用 su 命令,你只需要使用 exit命令退出你使用su命令而生成的新的對話進程。 
$ su – username 
一些配置文件是爲你的對話線索而設立的。當你使用命令 su username時,你的對話特徵和你原始的登錄身份一樣。如果你想要你的對話進程擁有轉換後的用戶 ID一致的特徵,你要使用短斜槓: su – username。

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