Linux小知識:sudo su和su的區別
本文是學習筆記,視頻地址:https://www.bilibili.com/video/av62836363
su是申請切換root用戶,需要申請root用戶密碼。有些Linux發行版,例如ubuntu,默認沒有設置root用戶的密碼,所以需要我們先使用sudo passwd root
設置root用戶密碼。
而sudo su是當前用戶暫時申請root權限,所以輸入的不是root用戶密碼,而是當前用戶的密碼。sudo是用戶申請管理員權限執行一個操作,而此處的操作就是變成管理員。
拓展:
來源:https://baike.baidu.com/item/sudo/7337623
sudo是linux系統管理指令,是允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,如halt,reboot,su等等。這樣不僅減少了root用戶的登錄 和管理時間,同樣也提高了安全性。sudo不是對shell的一個代替,它是面向每個命令的。
它的特性主要有這樣幾點:
§ sudo能夠限制用戶只在某台主機上運行某些命令。
§ sudo提供了豐富的日志,詳細地記錄了每個用戶干了什么。它能夠將日志傳到中心主機或者日志服務器。
§ sudo使用時間戳文件來執行類似的“檢票”系統。當用戶調用sudo並且輸入它的密碼時,用戶獲得了一張存活期為5分鍾的票(這個值可以在編譯的時候改變)。之后的一段時間內(默認為5分鍾,可在/etc/sudoers自定義),使用sudo不需要再次輸入密碼。
§ sudo的配置文件是sudoers文件,它允許系統管理員集中的管理用戶的使用權限和使用的主機。它所存放的位置默認是在/etc/sudoers,屬性必須為0440。
在sudo於1980年前后被寫出之前,一般用戶管理系統的方式是利用su切換為超級用戶。但是使用su的缺點之一在於必須要先告知超級用戶的密碼
由於不需要超級用戶的密碼,部分類Unix系統甚至利用sudo使一般用戶取代超級用戶作為管理帳號,例如Ubuntu、[Mac OS X](https://baike.baidu.com/item/Mac OS X)等。