Linux中的sudo su命令

2021-09-25 02:52:33 字數 927 閱讀 5225

sudo : 暫時切換到超級使用者模式以執行超級使用者許可權,提示輸入密碼時該密碼為當前使用者的密碼,而不是超級賬戶的密碼。不過有時間限制,ubuntu預設為一次時長15分鐘。

su : 切換到某某使用者模式,提示輸入密碼時該密碼為切換後賬戶的密碼,用法為「su 賬戶名稱」。如果後面不加賬戶時系統預設為root賬戶,密碼也為超級賬戶的密碼。沒有時間限制。

sudo -i: 為了頻繁的執行某些只有超級使用者才能執行的許可權,而不用每次輸入密碼,可以使用該命令。提示輸入密碼時該密碼為當前賬戶的密碼。沒有時間限制。執行該命令後提示符變為「#」而不是「$」。想退回普通賬戶時可以執行「exit」或「logout」 。

其實,還有幾個類似的用法:

sudo /bin/bash : 這個命令也會切換到root的bash下,但不能完全擁有root的所有環境變數,比如path,可以擁有root使用者的許可權。這個命令和 sudo -s 是等同的。

sudo -s : 如上

sudo su : 這個命令,也是登入到了root,但是並沒有切換root的環境變數,比如path。

sudo su - : 這個命令,純粹的切換到root環境下,可以這樣理解,先是切換到了root身份,然後又以root身份執行了 su - ,這個時候跟使用root登入沒有什麼區別。這個結果貌似跟sudo -i 的效果是一樣的,但是也有不同,sudo 只是臨時擁有了root的許可權,而su則是使用root賬號登入了linux系統。

所以,我們再來總結一下:

sudo su - 約等於 sudo -i

sudo -s 完全等於 sudo /bin/bash 約等於 sudo su

sudo 終究被乙個"臨時許可權的帽子"扣住,不能等價於純粹的登入到系統裡。

sudo su - 和 su - *** 切換時也會切換所有環境變數

sudo su 和 su *** 切換時不會切換環境變數

**:

su 和 sudo su 的區別

su 執行該命令,需要輸入password,它是中定義的使用者的password,即,要變換成的 使用者的password。如果已經用root登入,則無需輸入password 該命令改變user id,執行過後,以中定義的使用者執行shell,就像用定義的使用者遠端登入後一樣。唯一不同之處在於,先前...

Linux中的In命令

ln是 linux 中乙個非常重要命令。它的功能是為某乙個檔案在另外乙個位置建立乙個同步的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案 s 是 symbolic的意思。例 ln s lib lsb usr lj 即 在usr目錄下建立指向 lib lsb目錄的lj檔案。當...

Linux中的In命令

ln是 linux 中乙個非常重要命令。它的功能是為某乙個檔案在另外乙個位置建立乙個同步的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案 s 是 symbolic的意思。例 ln s lib lsb usr lj 即 在usr目錄下建立指向 lib lsb目錄的lj檔案。當...