Linux中sudo,su與su命令的區(qū)別
在Linux系統(tǒng)中,由于root的權(quán)限過(guò)大,一般情況都不使用它。只有在一些特殊情況下才采用登錄root執(zhí)行管理任務(wù),一般情況下臨時(shí)使用root權(quán)限多采用su和sudo命令。
前言
su命令就是切換用戶的工具,怎么理解呢?比如我們以普通用戶tom登錄的,但要添加用戶任務(wù),執(zhí)行useradd ,tom用戶沒(méi)有這個(gè)權(quán)限,而這個(gè)權(quán)限恰恰由root所擁有。解決辦法無(wú)法有兩個(gè),一是退出tom用戶,重新以root用戶登錄,但這種辦法并不是***的;二是我們沒(méi)有必要退出tom用戶,可以用su來(lái)切換到root下進(jìn)行添加用戶的工作,等任務(wù)完成后再退出root。
我們可以看到當(dāng)然通過(guò)su切換是一種比較好的辦法;通過(guò)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用戶通過(guò)使用visudo命令編輯sudo的配置文件/etc/sudoers,才可以授權(quán)其他普通用戶執(zhí)行sudo命令。
su
su為switch user,即切換用戶的簡(jiǎn)寫(xiě)。
格式為兩種:
su -l USERNAME(-l為login,即登陸的簡(jiǎn)寫(xiě))
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è)脩舻墓ぷ髂夸洠捌渌h(huán)境變量目錄。
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使用用戶密碼
















 
 
 







 
 
 
 