Sudo和Root的區別為什么?
一、Sudo和Root的區別
最小權限原則是一種信息和計算機安全概念,它認為授予程序和用戶執行任務所需的最少或最低限度的權限。
以 root 用戶登錄后,輸入到終端的每一條命令都以系統較高權限運行,違反了最小權限原則。像 rm 這樣的簡單命令可用于刪除核心根目錄或文件,而不會在意外時提示用戶。例如,如果您嘗試使用以下命令刪除 /etc 之類的根目錄:
$ rm -rf /etc
當您以普通用戶身份登錄時,您將被拒絕許可。當以 root 身份登錄時,不會顯示任何提示,并且整個文件夾將被刪除 – 這很可能會破壞您的系統,因為運行系統所需的特殊配置文件存儲在 /etc 目錄中。您也可能最終錯誤地格式化磁盤,并且系統不會提示您。
此缺陷還擴展到以 root 身份運行代碼或應用程序;應用程序中的一個小錯誤可能會刪除一些系統文件,因為該應用程序是在較高權限下運行的。
Sudo 提供細粒度的訪問控制。它僅向需要它的特定程序授予提升的權限。您知道哪個程序以提升的權限運行,而不是使用 root shell(以 root 權限運行每個命令)。
Sudo 也可以配置為以另一個用戶身份運行命令,指定允許哪些用戶和組使用 sudo 運行命令,或者通過編輯 sudoers 文件設置以 root 權限運行程序的超時。
因此,不建議使用 root shell 運行命令,因為您破壞系統的機會要高得多。如果您需要更高權限或 root 權限來運行命令,請使用 sudo 確保只有該命令以 root 權限運行。
延伸閱讀:
二、什么是 Sudo
sudo?(superuser do) 命令是一個命令行實用程序,它允許用戶以 root 或其他用戶身份執行命令。它提供了一種有效的方式來授予某些用戶適當的權限以使用特定的系統命令或以 root 用戶身份運行腳本。
雖然有點類似于?su?命令,但?sudo?的不同之處在于它默認需要用戶的密碼進行身份驗證,而不是 su 需要的目標用戶的密碼。Sudo 也不會產生 root shell;相反,它以提升的權限運行程序或命令,不像 su,它產生一個 root shell。
使用 sudo,系統管理員可以執行以下操作:
授予用戶或用戶組以提升或 root 權限運行某些命令的能力。查看每個使用 sudo 的用戶的用戶 ID 的日志。控制用戶可以在主機系統上使用什么命令。
猜你喜歡LIKE
相關推薦HOT
更多>>
mysql怎么查看連接池是否已滿?
一、mysql怎么查看連接池是否已滿1.查看連接數配置(MySQL服務器允許的最大連接數16384)show variables like ‘%max_connections%’2.查看當前...詳情>>
2023-10-17 21:20:19
什么是職場情商,如何提高?
什么是情商?情商是一個 20 世紀 90 年代作為學術話題出現的概念,并迅速成為商業心理學和職場動態研究的重要組成部分。它通常被稱為 EQ(情商...詳情>>
2023-10-17 20:16:30
vector, list, map等容器使用場合是什么?
一、vector, list, map等容器使用場合vector適用于對象簡單,變化較小,并且頻繁隨機訪問的場景。list適用經常進行插入和刪除并且不經常隨機訪...詳情>>
2023-10-17 19:45:03
數據挖掘中涉及的關聯規則在實際生活中的應用有哪些?
一、數據挖掘中涉及的關聯規則在實際生活中的應用關于關聯規則分析,這篇文章可以認真學習一下,講的比較全面,關聯規則分析還在零售、快消、電...詳情>>
2023-10-17 18:40:06熱門推薦
sql server2012r2所在服務器做端口限制,需要開放什么端口才能繼續訪問數據庫?
沸Oracle有什么優勢和劣勢?
熱數據庫聚集索引非聚集索引實現上有哪些區別?
熱數據庫(如oracle、mysql)及編程語言(php、python、perl、lisp)的區別?
新CSS 隱藏頁面元素有哪些方法?
除了cx_Oracle,python還可以通過什么方式訪問Oracle數據庫?
SQL開啟事務處理的語句 START TRANSACTION 和BEGIN TRAN的區別?
Android適配你需要學習哪些?
開發web應用,好的開發流程是怎么樣的?
為什么說Gradle是Android進階繞不去的坎?
mysql怎么查看連接池是否已滿?
WHERE中有很多IN判斷怎么提速?
軟件開發要遵循哪些事項?
有了innodb buffer pool為什么要有redis?
技術干貨






