# AWOOOI L4 自動化代理人最小權限 sudoers (ADR-090) # 建立時間: 2026-04-18 台北時區 # 建立者: ogt + Claude Opus 4.7 (1M) # # 安裝位置: /etc/sudoers.d/awoooi-wrapper # 安裝權限: root:root 0440 # 安裝前驗證: sudo visudo -c -f /path/to/this/file # # 設計原則: # - 以 command path 精確指定,不開 tee / bash / sh 這類 generic shell # - /etc/hosts 經 awoooi-hosts-add wrapper 白名單限制主機名 # - docker kill 只允許 SIGHUP (reload signal),不允許 SIGTERM/KILL # - 不放 systemctl / apt / reboot / shutdown 任何系統級指令 # 1. /etc/hosts 白名單式寫入 (wrapper 自己驗證主機名) wooo ALL=(root) NOPASSWD: /usr/local/bin/awoooi-hosts-add # 2. Prometheus / Blackbox / Alertmanager config reload (SIGHUP only) wooo ALL=(root) NOPASSWD: /usr/bin/docker kill -s SIGHUP prometheus wooo ALL=(root) NOPASSWD: /usr/bin/docker kill -s SIGHUP blackbox-exporter wooo ALL=(root) NOPASSWD: /usr/bin/docker kill -s SIGHUP alertmanager # 3. Prometheus / Alertmanager config 檔驗證 (只讀,防禦性) wooo ALL=(root) NOPASSWD: /usr/bin/docker exec prometheus promtool check config /etc/prometheus/prometheus.yml wooo ALL=(root) NOPASSWD: /usr/bin/docker exec alertmanager amtool check-config /etc/alertmanager/alertmanager.yml # 註: 未來新增命令必經 git commit 的 PR review,不可直接手動加