Linux 下的su命令

2021-07-03 22:06:26 字數 1601 閱讀 6183



linux su 命令

建議大家切換使用者的時候 使用 su - root 這樣,否則可能發現某些命令執行不了

關於su 、su - 及 sudo的區別 請往下看

1.命令作用

su的作用是變更為其它使用者的身份,超級使用者除外,需要鍵入該使用者的密碼。

2.使用方式

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [user [arg]]

3.引數說明

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

4.例子

su -c ls root 變更帳號為 root 並在執行 ls 指令後退出變回原使用者。

su [使用者名稱]

a>在root使用者下, 輸入 su 普通使用者. 則切換至普通使用者, 從root切換到變通使用者不需要密碼

b>在普通使用者下, 輸入 su [使用者名稱]

提示 password:

輸入使用者的password, 則切換至該使用者

擴充套件閱讀一:linux下 su命令與su - 命令有什麼區別?

su 是切換到其他使用者,但是不切換環境變數(比如說那些export命令檢視一下,就知道兩個命令的區別了)

su - 是完整的切換到乙個使用者環境

所以建議大家切換使用者的時候,盡量使用 su - linuxso 這樣 否則可能發現某些命令執行不了

擴充套件閱讀二:su和sudo的區別

由於su 對切換到超級許可權使用者root後,許可權的無限制性,所以su並不能擔任多個管理員所管理的系統。如果用su 來切換到超級使用者來管理系統,也不能明確哪些工作是由哪個管理員進行的操作。特別是對於伺服器的管理有多人參與管理時,最好是針對每個管理員的技術特長和 管理範圍,並且有針對性的下放給許可權,並且約定其使用哪些工具來完成與其相關的工作,這時我們就有必要用到 sudo。

通過sudo,我們能把某些超級許可權有針對性的下放,並且不需要普通使用者知道root密碼,所以sudo 相對於許可權無限制性的su來說,還是比較安全的,所以sudo 也能被稱為受限制的su ;另外sudo 是需要授權許可的,所以也被稱為授權許可的su;

sudo 執行命令的流程是當前使用者切換到root(或其它指定切換到的使用者),然後以root(或其它指定的切換到的使用者)身份執行命令,執行完成後,直接退回到當前使用者;而這些的前提是要通過sudo的配置檔案/etc/sudoers來進行授權;

Linux下su與su 命令的區別

使用 su root 切換到root使用者後,不可以使用service命令 使用 su 後,就可以使用service命令了。原因 su命令和su 命令區別就是 su只是切換了root身份,但shell環境仍然是普通使用者的shell 而su 連使用者和shell環境一起切換成root身份了。只有切換...

Linux下su與su 命令的區別

在啟動伺服器ntpd服務時遇到乙個問題 使用 su root 切換到root使用者後,不可以使用service命令 使用 su 後,就可以使用service命令了。原因 su命令和su 命令區別就是 su只是切換了root身份,但shell環境仍然是普通使用者的shell 而su 連使用者和shel...

Linux下su與su 命令的區別

在啟動伺服器ntpd服務時遇到乙個問題 使用 su root 切換到root使用者後,不可以使用service命令 使用 su 後,就可以使用service命令了。原因 su命令和su 命令區別就是 su只是切換了root身份,但shell環境仍然是普通使用者的shell 而su 連使用者和shel...