su和sudo命令的區(qū)別

susudo是兩個最常用的切換到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)限的命令。

sudosu的區(qū)別點主要有:

  1. su可以不帶參數(shù)執(zhí)行,sudo不行
  2. sudo命令獲取root權(quán)限時輸入的是用戶密碼,而su要求輸入root密碼;
  3. 只有/etc/sudo/sudoers文件中的用戶才能使用sudo命令,任何人都可以使用su命令
  4. 當root密碼未設(shè)置時,sudo能獲取root權(quán)限,su不行
  5. 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)境。

THE END
亚洲中文色欧另类欧美,久久久久久久激情,亚洲 日韩 欧美 另类 国产,中文字幕高清无码男人的天堂 www.sucaiwu.net