Bash
su 和 bash 的區別
當我訪問網路伺服器時,我使用命令
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。