Bash

su 和 bash 的區別

  • February 17, 2011

當我訪問網路伺服器時,我使用命令sudo su來獲取管理員權限。最近我發現這sudo bash是正確的命令,並且可以讓我獲得那些su沒有的權限。

sudo su和 和有什麼不一樣sudo bash?我認為兩者是等價的。

當你這樣做時,sudo su你啟動了 root 使用者的預設 shell,它可能是 Bourne shell (sh)。您可以sudo -s獲取目前使用者的預設 shell。

之後你會錯過什麼特權

sudo su

? 可能是您在執行此命令後根本沒有設置 root 的環境。如果你這樣做

sudo su -

(注意“-”),然後將讀取 root 使用者的配置文件並設置環境(以及其他 PATH 變數),就像您以 root 身份登錄一樣。如果你執行 sudo su,你會保留你的環境並獲得 0 的有效 uid,這意味著你擁有 root 使用者的權限,而無需設置 root 環境。sudo su -將您的目前目錄更改為根目錄的主目錄,因此如果我想在目前目錄中執行幾個命令(例如更改文件的所有者)而無需輸入長路徑,我會使用 sudo su。

引用自:https://serverfault.com/questions/236589