跳到主要內容

發表文章

目前顯示的是有「The sudoers file」標籤的文章

深入解析 The Sudoers File:Linux 權限管理與最小權限原則實踐指南

深入解析 The Sudoers File:Linux 權限管理與最小權限原則實踐指南 在 Linux 系統中, the sudoers file(/etc/sudoers) 是控制特權執行的核心樞紐。錯誤的設定可能導致系統全面淪陷,正確的設定則能精準落實最小權限原則。 Sudoers 檔案的結構與語法 The sudoers file 的每一條規則遵循固定語法: WHO WHERE=(AS_WHOM) WHAT 。 WHO 指定使用者或群組, WHERE 限制主機範圍, AS_WHOM 定義切換身份, WHAT 則列舉允許的指令。此檔案 嚴禁直接用文字編輯器修改 ,必須透過 visudo 指令操作,以確保語法驗證並防止設定錯誤鎖死系統。群組授權使用 %groupname 語法,模組化設定則建議置於 /etc/sudoers.d/ 目錄下分檔管理。 最小權限原則的實踐策略 最小權限原則(Least Privilege) 的核心是:只授予完成任務所需的最低權限。在 sudoers 設定中,應避免無限制的 ALL=(ALL:ALL) ALL 授權,改以 精確指定指令路徑 取代。善用 NOPASSWD 時須特別謹慎,建議搭配 Cmnd_Alias 將允許的指令群組化,提升可維護性。此外, Defaults 區段可設定 logfile 、 timestamp_timeout 等安全參數,強化稽核與會話控制。 # 定義允許的指令別名 Cmnd_Alias WEBOPS = /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx # 授予 deploy 群組僅執行 WEBOPS 指令,且需輸入密碼 %deploy ALL=(root) WEBOPS 💡 重點整理 唯一編輯入口: 永遠使用 visudo 修改,語法錯誤將即時攔截。 精準授權優於通用授權: 以完整指令路徑取代 ALL,縮小攻擊面。 模組化管理: 將不同服務的授權拆分至 /etc/sudoers.d/ ,降低變更風險。 稽核不可少: 啟用 Defaults logfile 記錄所有 sudo 操作,滿足合規要求。 ...