su和sudo命令的區(qū)別
su
和sudo
是兩個最常用的切換到root超級用戶的Linux命令。雖然看起來很像,功能上也類似,但使用上還是有不少差異。
本文介紹Linux系統(tǒng)su和sudo的區(qū)別,并分別給出su和sudo命令的常見用法。
su命令
su
?是切換到root用戶的傳統(tǒng)命令,其主要用法是:
su
:不帶參數(shù)直接輸入su
將切換到root用戶,需要輸入root密碼su?-
:等同于?su?-l
(建議使用),切換到root用戶并啟用root的環(huán)境變量(等同于root身份登錄)su?-l?用戶名
:切換到其他用戶,需要輸入該用戶的密碼。不帶其他參數(shù)時等同于?su?-?用戶
su?-c?'命令'
:以root用戶執(zhí)行命令,類似于sudo,不同之處是需要輸入root密碼
可以看到,su
命令主要是用來切換root身份,前提是需要知道root密碼。
除了su,另一個切換身份的命令是ssh:ssh root@localhost,等同于打開新終端ssh登錄
sudo命令
sudo
程序很早就出來了,但直到Ubuntu的推廣才流行起來。Ubuntu安裝過程中不會設(shè)置root密碼,默認使用普通賬戶登錄,sudo
便是普通賬戶獲取root權(quán)限的命令。
sudo
和su
的區(qū)別點主要有:
su
可以不帶參數(shù)執(zhí)行,sudo
不行sudo
命令獲取root權(quán)限時輸入的是用戶密碼,而su
要求輸入root密碼;- 只有
/etc/sudo/sudoers
文件中的用戶才能使用sudo
命令,任何人都可以使用su
命令 - 當root密碼未設(shè)置時,
sudo
能獲取root權(quán)限,su
不行 su
可以切換到其他用戶登錄,sudo
只能切換到root用戶(sudo su?-l?用戶名
的方式可以,但這是su的能力)
有了sudo
,可以在不泄漏(不設(shè)置)root密碼的前提下讓用戶執(zhí)行特權(quán)命令,并且sudo提供命令歷史記錄,能大大提高系統(tǒng)的安全性,因此實踐中建議使用。
和su不同,sudo命令選項豐富,下面介紹一些常見用法:
sudo?命令
:以root身份執(zhí)行命令,需要注意的是命令需要默認PATH路徑下,否則會出現(xiàn)”sudo: xxx command not found”的錯誤(試試?sudo ll
)sudo?-l
:列出可用的命令sudo?-i
:以root身份登錄sudo?-s
:一般等同于sudo bash
,進入root環(huán)境,不改變工作目錄sudo su
:以sudo
方式執(zhí)行su
命令,此時輸入用戶密碼就可以了
Ubuntu、MacOS默認沒有設(shè)置root密碼,谷歌云、AWS的VPS默認是普通用戶密鑰登錄,要想切換到root環(huán)境,sudo?-i
,然后輸入用戶密碼便進入到了root環(huán)境。
聲明:
1.本站主要是為了記錄工作、學(xué)習(xí)中遇到的問題,可能由于本人技術(shù)有限,內(nèi)容難免有紕漏,一切內(nèi)容僅供參考。
2.本站部分內(nèi)容來源互聯(lián)網(wǎng),如果有圖片或者內(nèi)容侵犯您的權(quán)益請聯(lián)系我們刪除!
3.本站所有原創(chuàng)作品,包括文字、資料、圖片、網(wǎng)頁格式,轉(zhuǎn)載時請標注作者與來源。
1.本站主要是為了記錄工作、學(xué)習(xí)中遇到的問題,可能由于本人技術(shù)有限,內(nèi)容難免有紕漏,一切內(nèi)容僅供參考。
2.本站部分內(nèi)容來源互聯(lián)網(wǎng),如果有圖片或者內(nèi)容侵犯您的權(quán)益請聯(lián)系我們刪除!
3.本站所有原創(chuàng)作品,包括文字、資料、圖片、網(wǎng)頁格式,轉(zhuǎn)載時請標注作者與來源。
THE END