當前位置: 華文星空 > 知識

為什麽Linux使用者用sudo命令而不直接使用root使用者?

2021-07-14知識

sudo (superuser do)

我們對sudo的誤解應該是比較大,常規理解它只是一個獲取命令root執行許可權的途徑,並沒有關註到它的其它用法。

sudo是一個用於基於UNIX和Linux的系統的實用程式,它提供了一種有效的方法,允許特定使用者在系統的root(最高許可權)級別上使用特定的系統命令。 sudo還會記錄所有命令和參數。基於sudo管理的多使用者作業系統,最高許可權管理員(root)可以做到:

  • 控制讓某些使用者(或使用者組)能夠在系統的root許可權級別執行某些(或所有)命令
  • 控制使用者可以在每個主機上使用哪些命令
  • 從日誌中清楚地看到哪些使用者使用了哪些命令
  • 使用時間戳檔,控制使用者在輸入密碼並被授予適當特權後輸入命令的時間
  • 這裏比較值得一提的就是 為什麽Linux的發行版系統都要對Root許可權進行控制?

    對於家用、普通桌面作業系統而言,Linux有很多執行層面的處理是使用者不關心的,並且變更可能影響系統軟體執行,比如啟機指令碼、Bootloader配置、系統庫等,這些在使用者使用層面並不關心,對操作許可權進行可控制,可以很大層面預防誤操作,特別是Linux這種多使用者作業系統,有可能一台裝置一個系統有多個人同時在使用,許可權管理的重要性相當重要。

    一個字元之差,操作的預期就天差地別。

    對於嵌入式Linux系統就不同了,由於執行的軟體比較專用,且面向的都是專業的開發人員,比較常見啟機預設就以Root許可權登入,免去繁瑣的sudo命令字首。