Shell

sudo -s 和 sudo su - 的區別

  • September 1, 2021

它可能是重複的,我很確定我已經在某個地方看到了這個問題的答案,但我想知道sudo -ssudo su -.

就我而言,它們都打開了一個 root shell,我可以在其中做任何我想做的事情,但我想知道有一天我是否會體驗到一些不同。

askUbuntu上的這個問題也沒有解決我的擔憂。

須藤-s

讀取$SHELL變數並執行內容。如果$SHELL包含/bin/bash它呼叫sudo /bin/bash. 因此,/bin/bash作為非登錄 shell 啟動,因此不會執行所有點文件,但 bash 本身會讀取.bashrc呼叫使用者。您的環境保持不變。你的家不會是根的家。所以你是root,但是在呼叫使用者的環境中。

須藤蘇-

su -由 呼叫sudo。與sudo su(加上破折號)不同,shell 被稱為登錄 shell,因此/etc/profile,.profile.bashrc被執行,您將發現自己位於 root 的主目錄中,並帶有 root 的環境。

資料來源:

引用自:https://unix.stackexchange.com/questions/145873