如果您是Linux使用者,您可能已經看到sudo和su的引用。這裡有一些關於如何使用Geek和其他地方的文章,指導Ubuntu使用者使用sudo和其他Linux發行版的使用者使用su,但是有什麼區別呢?
Sudo和su是獲得root特權的兩種不同方式。每個版本都以不同的方式執行,預設情況下,不同的Linux發行版使用不同的配置。
su和sudo都用於執行具有根許可權的命令。根使用者基本上等同於Windows上的管理員使用者–根使用者擁有最大許可權,可以對系統執行任何操作。Linux上的普通使用者在執行時許可權降低,例如,他們無法安裝軟體或寫入系統目錄。
要執行需要這些許可權的操作,您必須使用su或sudo獲取它們。
在執行su命令時,如果沒有其他選項,su命令將切換到超級使用者或根使用者。您必須輸入根帳戶的密碼。這並不是su命令所能做的全部,但是您可以使用它來切換到任何使用者帳戶。如果執行su-bob命令,系統將提示您輸入bob的密碼,shell將切換到bob的使用者帳戶。
在根shell中執行完命令後,應鍵入exit以離開根shell並返回到受限許可權模式。
Sudo以root許可權執行單個命令。當您執行sudo命令時,在以root使用者身份執行命令之前,系統會提示您輸入當前使用者帳戶的密碼。預設情況下,Ubuntu會記住密碼15分鐘,直到15分鐘結束後才會再次要求輸入密碼。
這是su和sudo的關鍵區別。Su將您切換到根使用者帳戶,並需要根帳戶的密碼。Sudo以root許可權執行單個命令—它不切換到root使用者,也不需要單獨的root使用者密碼。
su命令是Linux上獲取root許可權的傳統方法。sudo命令已經存在很長時間了,但是Ubuntu是第一個預設使用sudo的流行Linux發行版。安裝Ubuntu時,會建立標準的root帳戶,但不會為其分配密碼。在為root帳戶分配密碼之前,您不能以root身份登入。
預設情況下使用sudo而不是su有幾個優點。Ubuntu使用者只需提供並記住一個密碼,而Fedora和其他發行版則要求您在安裝過程中建立單獨的root和使用者帳戶密碼。
另一個優點是,它不鼓勵使用者以根使用者身份登入(或使用su獲取根shell),也不鼓勵使用者保持根shell開啟以執行正常工作。以root使用者身份執行較少的命令可以提高安全性並防止系統範圍內的意外更改。
基於Ubuntu的發行版,包括linuxmint,預設情況下也使用sudo而不是su。
Linux是靈活的,所以不需要做太多的工作就可以讓su和sudo工作得相似,反之亦然。
要以su的根使用者身份執行單個命令,請執行以下命令:
su -c ‘command’
這類似於用sudo執行命令,但是您需要根帳戶的密碼而不是當前使用者帳戶的密碼。
要使用sudo獲得完整的互動式根shell,請執行sudo–i。
您必須提供當前使用者帳戶的密碼,而不是根帳戶的密碼。
要在Ubuntu上啟用root使用者帳戶,請使用以下命令為其設定密碼。請記住,Ubuntu建議不要這樣做。
sudo passwd root
Sudo將提示您輸入當前使用者帳戶的密碼,然後才能設定新密碼。使用新密碼從終端登入提示符或su命令以root身份登入。您永遠不應該以root使用者身份執行完整的圖形環境—這是一種非常糟糕的安全實踐,許多程式將拒絕工作。
Ubuntu中只有管理員型別的帳戶才能使用sudo執行命令。您可以從“使用者帳戶配置”視窗更改使用者帳戶的型別。
Ubuntu自動將安裝期間建立的使用者帳戶指定為管理員帳戶。
如果您使用的是另一個Linux發行版,則可以透過以root許可權執行visudo命令來授予使用者使用sudo的許可權(因此,請先執行su或使用su-c)。
向檔案中新增以下行,用使用者帳戶的名稱替換使用者:
user ALL=(ALL:ALL) ALL
按Ctrl-X,然後按Y儲存檔案。您還可以將使用者新增到檔案中指定的組中。檔案中指定的組中的使用者將自動具有sudo許可權。
Linux還支援su的圖形版本,它在圖形環境中請求您的密碼。例如,可以執行以下命令以獲得圖形密碼提示,並使用root許可權執行Nautilus檔案瀏覽器。按Alt-F2從圖形執行對話方塊執行命令,而不啟動終端。
gksu nautilus
gksu命令還有一些其他的技巧——它保留您當前的桌面設定,因此當您以不同的使用者身份啟動圖形程式時,圖形程式不會顯得不合適。gksu之類的程式是使用root許可權啟動圖形應用程式的首選方法。
Gksu使用基於su或sudo的後端,這取決於您使用的Linux發行版。
你現在應該準備好同時遇到su和sudo!如果您使用不同的Linux發行版,您將遇到這兩種情況。
...步驟是針對googleplay商店的,但在Apple應用商店中應該沒有區別。 ...
... Xed和它的父專案MATE文字編輯器Pluma之間幾乎沒有什麼區別。不過,從好的方面來看,它並不依賴於安裝MATE桌面來工作,因此如果您喜歡Pluma的外觀,但又想使用另一個桌面,那麼這是一個不錯的選擇。 ...
... 如果您不確定另一個使用者的系統使用者名稱是什麼,可以使用以下命令查詢,列出系統上的所有使用者帳戶: ...
...是使用標準shell的另一種方式,所以它們很容易設定。沒有什麼可安裝的,而且它們在Linux所在的任何地方都可用。 受限shell也可以應用於指令碼。這就確保瞭如果它們被錯誤地寫入,可能造成的任何損壞都被限制在它們的受限...
...強大的指令碼語言。 相關:Bash、Zsh和其他Linux shell之間有什麼區別? 列出已安裝的外殼 要檢視計算機上安裝了哪些shell,請使用以下命令。它只列出/etc/shell檔案的內容: cat /etc/shells 我們提到了bash、dash和rbash,但是sh是什麼...
...定和更改與Linux使用者帳戶關聯的所有元資料。 名字裡有什麼? 如果您使用的是Linux或類似Unix的計算機,您將擁有一個使用者帳戶。指定給帳戶的名稱是您的使用者帳戶名。這是用於登入的名稱。它也是(預設情況下)登入組...