關於su su 及 sudo的區別

2021-06-05 15:50:52 字數 1426 閱讀 6203

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 和sudo的區別

su 切換到root使用者,但是並沒有轉到root使用者家目錄下,即沒有改變使用者的環境。su 切換到root使用者,並轉到root使用者的家目錄下,即改變到了root使用者的環境。這個涉及到不同使用者下的環境變數的配置。sudo 通過sudo,我們能把某些超級許可權有針對性的下放,並且不需要普通使...

Linux中su su 和sudo的區別

linux中su su 和sudo的區別 su 切換到root使用者,但是並沒有轉到root使用者家目錄下,即沒有改變使用者的環境。su 切換到root使用者,並轉到root使用者的家目錄下,即改變到了root使用者的環境。這個涉及到不同使用者下的環境變數的配置。sudo 通過sudo,我們能把某些...

su和sudo的區別

su 和 sudo 的區別 1.共同點 都是root使用者的許可權 2.不同點 su僅僅取得root許可權,工作環境不變,還是在切換之前使用者的工作環境 sudo是完全取得root的許可權和root的工作環境。編譯時碰到的問題是 arm linux gcc command not found 解決如...