| 场景 | sudo: not in sudoers / command not allowed |
|---|---|
| 目标 | 定位策略缺口并最小化补权 |
| 工具链 | sudo -l → visudo -c → journalctl → 授权 |
第 1 步:看用户被授权了什么
第 1 步:看用户被授权了什么
sudo -l -U zhangsan
sudo -ll -U zhangsan # 展开全部来源第 2 步:看失败记录
第 2 步:看失败记录
journalctl -t sudo -n 50
# 或
grep -i 'COMMAND=' /var/log/secure | tail -n 20第 3 步:校验配置来源
第 3 步:校验配置来源
visudo -c
grep -R zhangsan /etc/sudoers /etc/sudoers.d/ 2>/dev/null第 4 步:最小化补充授权
第 4 步:最小化补充授权
visudo -f /etc/sudoers.d/zhangsan
# zhangsan ALL=(root) NOPASSWD: /bin/systemctl restart myapp
visudo -c && sudo -l -U zhangsansudo 拒绝时退出码 1 并在日志写明用户/命令/来源;看懂日志里的 policy 来源能立刻判断该改哪个文件。