Linux中su su 和sudo的區別

2021-09-27 05:26:49 字數 1966 閱讀 9255

linux中su、su -和sudo的區別

su 切換到root使用者,但是並沒有轉到root使用者家目錄下,即沒有改變使用者的環境。

su - 切換到root使用者,並轉到root使用者的家目錄下,即改變到了root使用者的環境。

這個涉及到不同使用者下的環境變數的配置。

sudo

通過sudo,我們能把某些超級許可權有針對性的下放,並且不需要普通使用者知道root密碼(sudo用的不是root密碼,而是當前使用者密碼),所以sudo相對於許可權無限制性的su來說,還是比較安全的,所以sudo也能被稱為受限制的su,另外sudo是需要授權許可的,所以也被稱為授權許可的su。

sudo執行命令的流程是當前使用者切換到root(或其他指定切換到的使用者),然後以root(或其他指定的切換到的使用者)身份執行命令,執行完成後,直接退回到當前使用者,而這些的前提是要通過sudo的配置檔案/etc/sudoers來進行授權。

sudo的配置檔案是/etc/sudoers,我們可以用他的專用編輯工具visodu來進行配置,配置好後,可以切換到您授權的使用者下,通過sudo -l來檢視哪些命令是可以執行或禁止的。

之所以把這三個命令拿出來,是要提醒自己這三個命令是有區別的,在使用時遇到錯誤就要仔細想一下。

至於怎樣配置使用sudo,一般不做伺服器管理應該用不到,這裡不做詳細介紹,需要的時候可以去學習。

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

在linux系統中,由於root的許可權過大,一般情況都不使用它。只有在一些特殊情況下才採用登入root執行管理任務,一般情況下臨時使用root許可權多採用su和sudo命令。

前言su命令就是切換使用者的工具,怎麼理解呢?比如我們以普通使用者tom登入的,但要新增使用者任務,執行useradd ,tom使用者沒有這個許可權,而這個許可權恰恰由root所擁有。解決辦法無法有兩個,一是退出tom使用者,重新以root使用者登入,但這種辦法並不是最好的;二是我們沒有必要退出tom使用者,可以用su來切換到root下進行新增使用者的工作,等任務完成後再退出root。

我們可以看到當然通過su切換是一種比較好的辦法;通過su可以在使用者之間切換,而超級許可權使用者root向普通或虛擬使用者切換不需要密碼,而普通使用者切換到其它任何使用者都需要密碼驗證。

sudo

sudo是一種許可權管理機制,依賴於/etc/sudoers,其定義了授權給哪個使用者可以以管理員的身份能夠執行什麼樣的管理命令;

格式:sudo -u username command

預設情況下,系統只有root使用者可以執行sudo命令。需要root使用者通過使用visudo命令編輯sudo的配置檔案/etc/sudoers,才可以授權其他普通使用者執行sudo命令。

susu為switch user,即切換使用者的簡寫。

格式為兩種:

su -l username(-l為login,即登陸的簡寫)

su username

如果不指定username(使用者名稱),預設即為root,所以切換到root的身份的命令即為:su -root或su -,su root 或su。

su username,與su - username的不同之處如下:

su - username切換使用者後,同時切換到新使用者的工作環境中。

su username切換使用者後,不改變原使用者的工作目錄,及其他環境變數目錄。

su -

su -,su -l或su --login 命令改變身份時,也同時變更工作目錄,以及home,shell,user,logname。此外,也會變更path變數。用su -命令則預設轉換成成root使用者了。

而不帶引數的「su命令」不會改變當前工作目錄以及home,shell,user,logname。只是擁有了root的許可權而已。

注意:su -使用root的密碼,而sudo su使用使用者密碼

參考:

Linux中su su 和sudo的區別

su 切換到root使用者,但是並沒有轉到root使用者家目錄下,即沒有改變使用者的環境。su 切換到root使用者,並轉到root使用者的家目錄下,即改變到了root使用者的環境。這個涉及到不同使用者下的環境變數的配置。sudo 通過sudo,我們能把某些超級許可權有針對性的下放,並且不需要普通使...

linux命令之su,su 和sudo

1 su 切換使用者,需要目標使用者的密碼,切換成功後,還是在當前使用者的目錄下 demo使用者切換到root使用者 demo node1 pwd home demo demo node1 su root password root node1 demo pwd home demo2 su 切換使用...

關於su su 及 sudo的區別

1.命令作用 su的作用是變更為其它使用者的身份,超級使用者除外,需要鍵入該使用者的密碼。2.使用方式 su fmp c command s shell help version user arg 3.引數說明 f fast 不必讀啟動檔案 如 csh.cshrc 等 僅用於csh或tcsh兩種sh...