溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中sudo、su和su -命令的區(qū)別小結(jié)

發(fā)布時(shí)間:2020-10-20 10:28:53 來源:腳本之家 閱讀:166 作者:daisy 欄目:服務(wù)器

前言

在Linux系統(tǒng)中,由于root的權(quán)限過大,一般情況都不使用它。只有在一些特殊情況下才采用登錄root執(zhí)行管理任務(wù),一般情況下臨時(shí)使用root權(quán)限多采用su和sudo命令。

su命令就是切換用戶的工具,怎么理解呢?比如我們以普通用戶tom登錄的,但要添加用戶任務(wù),執(zhí)行useradd ,tom用戶沒有這個(gè)權(quán)限,而這個(gè)權(quán)限恰恰由root所擁有。解決辦法無法有兩個(gè),一是退出tom用戶,重新以root用戶登錄,但這種辦法并不是最好的;二是我們沒有必要退出tom用戶,可以用su來切換到root下進(jìn)行添加用戶的工作,等任務(wù)完成后再退出root。

我們可以看到當(dāng)然通過su切換是一種比較好的辦法;通過su可以在用戶之間切換,而超級(jí)權(quán)限用戶root向普通或虛擬用戶切換不需要密碼,而普通用戶切換到其它任何用戶都需要密碼驗(yàn)證。

sudo

sudo是一種權(quán)限管理機(jī)制,依賴于/etc/sudoers,其定義了授權(quán)給哪個(gè)用戶可以以管理員的身份能夠執(zhí)行什么樣的管理命令;

格式:sudo -u USERNAME COMMAND

默認(rèn)情況下,系統(tǒng)只有root用戶可以執(zhí)行sudo命令。需要root用戶通過使用visudo命令編輯sudo的配置文件/etc/sudoers,才可以授權(quán)其他普通用戶執(zhí)行sudo命令。

sudo的運(yùn)行有這樣一個(gè)流程:

1).當(dāng)用戶運(yùn)行sudo時(shí),系統(tǒng)于/etc/sudoers文件里查找該用戶是否有運(yùn)行sudo的權(quán)限;

2).若用戶具有可運(yùn)行sudo的權(quán)限。那么讓用戶輸入用戶自己的password,注意這里輸入的是用戶自己的password。

3).假設(shè)password正確。變開始進(jìn)行sudo后面的命令,root運(yùn)行sudo是不須要輸入password的,切換到的身份與運(yùn)行者身份同樣的時(shí)候。也不須要輸入password。

su

su為switch user,即切換用戶的簡寫。

su是最簡單的身份切換名,用su我們能夠進(jìn)行不論什么用戶的切換,一般都是su - username,然后輸入password就ok了,可是root用su切換到其它身份的時(shí)候是不須要輸入password的。

格式為兩種:

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

su USERNAME

如果不指定USERNAME(用戶名),默認(rèn)即為root,所以切換到root的身份的命令即為:su -root或su -,su root 或su。

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

  • su - USERNAME切換用戶后,同時(shí)切換到新用戶的工作環(huán)境中。
  • su USERNAME切換用戶后,不改變?cè)脩舻墓ぷ髂夸?,及其他環(huán)境變量目錄。

如何設(shè)置初始su密碼?

當(dāng)我們輸入su時(shí)會(huì)發(fā)現(xiàn)要輸入密碼,我們嘗試輸入自己當(dāng)前用戶的密碼,發(fā)現(xiàn)failure。

但我們又不知道su密碼是什么?其實(shí)su初始密碼可以通過下面方式進(jìn)行設(shè)置:

sudo passwd

設(shè)置完后再輸入su命令并鍵入剛才設(shè)置的密碼即可進(jìn)入~

Linux中sudo、su和su -命令的區(qū)別小結(jié)

su -

su -,su -l或su --login 命令改變身份時(shí),也同時(shí)變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會(huì)變更PATH變量。用su -命令則默認(rèn)轉(zhuǎn)換成成root用戶了。

而不帶參數(shù)的“su命令”不會(huì)改變當(dāng)前工作目錄以及HOME,SHELL,USER,LOGNAME。只是擁有了root的權(quán)限而已。

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI