前言
在Linux系統(tǒng)中,由于root的權(quán)限過大,一般情況都不使用它。只有在一些特殊情況下才采用登錄root執(zhí)行管理任務,一般情況下臨時使用root權(quán)限多采用su和sudo命令。
su命令就是切換用戶的工具,怎么理解呢?比如我們以普通用戶tom登錄的,但要添加用戶任務,執(zhí)行useradd ,tom用戶沒有這個權(quán)限,而這個權(quán)限恰恰由root所擁有。解決辦法無法有兩個,一是退出tom用戶,重新以root用戶登錄,但這種辦法并不是最好的;二是我們沒有必要退出tom用戶,可以用su來切換到root下進行添加用戶的工作,等任務完成后再退出root。
我們可以看到當然通過su切換是一種比較好的辦法;通過su可以在用戶之間切換,而超級權(quán)限用戶root向普通或虛擬用戶切換不需要密碼,而普通用戶切換到其它任何用戶都需要密碼驗證。
sudo
sudo是一種權(quán)限管理機制,依賴于/etc/sudoers,其定義了授權(quán)給哪個用戶可以以管理員的身份能夠執(zhí)行什么樣的管理命令;
格式:sudo -u USERNAME COMMAND
默認情況下,系統(tǒng)只有root用戶可以執(zhí)行sudo命令。需要root用戶通過使用visudo命令編輯sudo的配置文件/etc/sudoers,才可以授權(quán)其他普通用戶執(zhí)行sudo命令。
sudo的運行有這樣一個流程:
1).當用戶運行sudo時,系統(tǒng)于/etc/sudoers文件里查找該用戶是否有運行sudo的權(quán)限;
2).若用戶具有可運行sudo的權(quán)限。那么讓用戶輸入用戶自己的password,注意這里輸入的是用戶自己的password。
3).假設password正確。變開始進行sudo后面的命令,root運行sudo是不須要輸入password的,切換到的身份與運行者身份同樣的時候。也不須要輸入password。
su
su為switch user,即切換用戶的簡寫。
su是最簡單的身份切換名,用su我們能夠進行不論什么用戶的切換,一般都是su - username,然后輸入password就ok了,可是root用su切換到其它身份的時候是不須要輸入password的。
格式為兩種:
su -l USERNAME(-l為login,即登陸的簡寫)
su USERNAME
如果不指定USERNAME(用戶名),默認即為root,所以切換到root的身份的命令即為:su -root或su -,su root 或su。
su USERNAME,與su - USERNAME的不同之處如下:
- su - USERNAME切換用戶后,同時切換到新用戶的工作環(huán)境中。
- su USERNAME切換用戶后,不改變原用戶的工作目錄,及其他環(huán)境變量目錄。
如何設置初始su密碼?
當我們輸入su時會發(fā)現(xiàn)要輸入密碼,我們嘗試輸入自己當前用戶的密碼,發(fā)現(xiàn)failure。
但我們又不知道su密碼是什么?其實su初始密碼可以通過下面方式進行設置:
設置完后再輸入su命令并鍵入剛才設置的密碼即可進入~
su -
su -,su -l或su --login 命令改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變量。用su -命令則默認轉(zhuǎn)換成成root用戶了。
而不帶參數(shù)的“su命令”不會改變當前工作目錄以及HOME,SHELL,USER,LOGNAME。只是擁有了root的權(quán)限而已。
注意:su -使用root的密碼,而sudo su使用用戶密碼
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。