Linux sudoers 權限修復示意圖

← INSIGHTS & PERSPECTIVES | DevOps

Linux sudoers is world writable 錯誤修復:/etc/sudoers 權限檢查與還原

說明 sudo: /etc/sudoers is world writable 的原因、0440 權限修復、root 救援方式、visudo 驗證與安全檢查。

sudo: /etc/sudoers is world writable 代表 /etc/sudoers 允許所有使用者寫入,sudo 會拒絕使用這個高風險設定檔。修復重點是用 root 權限把 /etc/sudoers 還原為 root 擁有、預設模式 0440,再用 visudo -c 檢查語法與檔案狀態。

sudoers is world writable 是什麼意思?

sudoers is world writable 表示 sudoers 檔案被設定成其他使用者也可寫入。sudo 會視為高風險設定,因為任何帳號都可能竄改提權規則。

sudoers 是 Linux 系統用來定義「誰可以用 sudo 執行哪些命令」的授權設定。sudo 官方文件說明,/etc/sudoers 不應允許所有使用者寫入,預設檔案模式是 0440,也就是 owner 與 group 可讀、沒有任何人可寫(sudo Project,2026 年存取)。

我當時的筆記遇到的狀況是:某次設定 Linux 時,sudo 指令突然不能用;上網查後才發現是 sudoers 權限被改壞。不同 Linux 發行版對錯誤狀態的訊息略有差異,但核心原因通常都落在檔案權限、擁有者或 sudoers 檔案不存在。

發生錯誤時先檢查 /etc/sudoers 哪些項目?

排查 sudoers 權限錯誤時,先看 /etc/sudoers 的 mode、owner、group 與檔案是否存在。不要急著改規則內容,因為問題常出在檔案層級。

先檢查檔案狀態:

ls -l /etc/sudoers
stat /etc/sudoers

健康狀態通常應接近:

-r--r----- 1 root root ... /etc/sudoers

不同系統的 group 可能是 root 或其他 sudo 套件指定的群組;判斷重點是 owner 應該是 root,且不能出現 -rw-rw-rw--rwxrwxrwx 這類所有人可寫的權限。sudoers manual 也列出其他常見錯誤,例如 /etc/sudoers missing、wrong owner、wrong group(man7.org,2026 年存取)。

如何修復 /etc/sudoers 權限?

修復 /etc/sudoers is world writable 的標準方向,是用 root 權限把檔案權限改回 0440,必要時同步修正 owner 與 group。沒有 root shell 時,必須先進入救援模式或用雲端主機主控台處理。

如果還有 root shell、實體 console、救援模式或雲端主機的 serial console,可以執行:

chown root:root /etc/sudoers
chmod 0440 /etc/sudoers
visudo -c

chmod 0440 /etc/sudoers 會把 sudoers 還原成 owner 可讀、group 可讀、其他使用者無權限。GNU chmod 文件說明,chmod 用來變更檔案 mode bits,八進位模式可以直接指定目標權限(GNU Coreutils,2026 年存取)。

如果 sudo 已經完全不能用,下面這種指令通常也會失敗,因為 sudo 本身已拒絕讀取錯誤的 sudoers:

sudo chmod 0440 /etc/sudoers

這時候要改用 root 登入、single-user mode、recovery mode、Live USB 掛載系統磁碟,或雲端供應商提供的 rescue console。這一點保留我當時的筆記的提醒:先檢查 /etc/sudoers 怎麼了;必要時重建 sudoers;最後檢查 log,確認是入侵還是人為疏忽。

什麼時候需要重建 sudoers?

/etc/sudoers 不存在、內容被清空或語法嚴重損壞時,才需要重建 sudoers。若只是 world writable,優先修復檔案權限,不要直接覆蓋內容。

重建前先備份現有檔案,即使內容看起來壞掉,也可能保留了重要授權規則:

cp -a /etc/sudoers /root/sudoers.bak

接著可從同版本套件、乾淨主機或發行版預設範本恢復 /etc/sudoers。恢復後務必用 visudo -c 檢查;visudo 會鎖定 sudoers 檔案、做基本合理性檢查,並在儲存或檢查時找出語法錯誤(sudo Project,2026 年存取)。

如果系統使用 /etc/sudoers.d/,也要檢查 drop-in 檔案。sudoers manual 說明 @includedir /etc/sudoers.d 會依檔名字典序讀取目錄中的規則檔,編輯備份檔或包含 . 的檔名可能會被略過(man7.org,2026 年存取)。

修好後要查哪些 log 與風險?

sudoers 被設成 world writable 不是單純小錯,修好後應檢查最近誰改過權限、是否有異常登入、是否出現未授權提權規則。這能分辨人為誤操作與入侵痕跡。

建議檢查:

檢查項目指令或位置目的
檔案時間stat /etc/sudoers看 mode、owner、mtime、ctime 是否合理
sudo 語法visudo -c確認 sudoers 可被 sudo 正確解析
Debian/Ubuntu auth log/var/log/auth.log查 sudo、su、登入與驗證紀錄
RHEL/CentOS secure log/var/log/secure查提權與登入紀錄
sudoers.dfind /etc/sudoers.d -maxdepth 1 -type f -ls檢查是否有可疑 drop-in 規則

實務判斷框架是:如果剛剛有人執行過錯誤的 chmod -R 777 /etc 或誤改單一檔案,通常是操作事故;如果同時出現陌生帳號、異常 SSH 登入、sudoers.d 新規則或可疑排程,就應依資安事件處理。

如何避免再次把 sudoers 權限改壞?

避免 sudoers 再次損壞的做法,是永遠用 visudo 編輯規則、避免遞迴修改 /etc 權限,並把個別授權放在受控的 sudoers.d 檔案中。

建議做法:

  • 編輯主檔用 visudo,編輯 drop-in 用 visudo -f /etc/sudoers.d/檔名
  • 修改權限前先用 ls -l 確認目標路徑,避免把 /etc/ 當成遞迴目標。
  • 把 sudo 授權變更納入 code review 或變更紀錄。
  • 修改完成後固定執行 visudo -c
  • 遠端主機保留第二個 root console 或雲端救援通道,避免 sudo 壞掉時無法修復。

這篇的資訊增益,是把原本「檢查、重建、查 log」的筆記整理成可復用的 DevOps 排查順序:先確認檔案層級,再用 root 通道修權限,最後才判斷是否要重建與啟動資安調查。

常見問題

Q/etc/sudoers 正確權限一定是 0440 嗎?

多數 Linux 發行版的 /etc/sudoers 預設權限是 0440。sudoers manual 說明預設模式為 0440,除非系統管理者透過 sudo.conf 的 sudoers plugin 選項另行調整。

Q為什麼不能直接用 sudo chmod 0440 /etc/sudoers 修復?

當 sudo 已拒絕讀取 world writable 的 sudoers 檔案時,任何 sudo 命令都可能失敗。這時必須改用 root shell、救援模式、雲端 console 或 Live USB 掛載系統磁碟修復。

Q/etc/sudoers 被改成 777 有多危險?

777 代表所有使用者都可讀、可寫、可執行。對 sudoers 來說,所有人可寫等於任何本機帳號都可能加入提權規則,因此 sudo 會拒絕使用這個檔案。

Q修復 sudoers 後還需要跑 visudo -c 嗎?

需要。visudo -c 可以檢查 sudoers 語法、owner 與 mode;修完權限不代表規則內容一定正確。

Q/etc/sudoers.d/ 裡的檔案也要改成 0440 嗎?

建議讓 sudoers.d 裡的規則檔同樣維持嚴格權限,常見做法是 root 擁有且不可被一般使用者寫入。若 drop-in 檔案權限或語法錯誤,sudo 也可能拒絕載入相關規則。

Q怎麼判斷 sudoers 錯誤是入侵還是誤操作?

先比對 stat /etc/sudoers 的變更時間,再查 /var/log/auth.log/var/log/secure 的登入與提權紀錄。若同一時間附近有陌生登入、可疑帳號、異常 sudoers.d 檔案或排程,應以資安事件處理。

參考資料

延伸閱讀

最後更新

本文最後更新於 2026-08-28。我當時的筆記發布於 2020-03-18,本文保留當時的修復方向,補上 GEO Answer Blocks、FAQ、官方參考資料與安全檢查清單。

關於作者

Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。

首次發布:2020-03-18