首页/安全/应急响应速查/sudoers 提权配置排查

sudoers 提权配置排查

sudo 免密或全权配置是常见留后门方式:检查 /etc/sudoers 与 /etc/sudoers.d 下所有 NOPASSWD 与通配条目。

应急响应速查安全更新于 2026-10-13

sudoers 配置排查

sudo 让普通用户按规则以其他身份执行命令,配置存放在 /etc/sudoers 与 /etc/sudoers.d/ 目录。攻击者提权后常在这里加一条免密规则:既能随时回到 root,又不像新增 UID 0 账号那样容易在台账里被发现。排查要做三件事:把全部生效条目读出来、识别危险模式、与基线比对确认哪些行是新增的。改这个文件本身也有风险,语法错误会导致所有人都用不了 sudo。

基本信息

配置文件/etc/sudoers 主文件;/etc/sudoers.d/ 下的独立片段(常见 @includedir 引入)
校验方式visudo -c 检查语法,-f 指定文件
查看实际权限sudo -l -U 用户名 列出该用户真正可用的命令
危险模式NOPASSWD、ALL=(ALL)、把可逃逸程序(编辑器、解释器、打包工具)直接授权
文件命名规则文件名含点号或波浪号的片段会被忽略,多用于规避快速检查
留痕sudo 命令会记录到 /var/log/auth.log 或 secure,处置时同步核对

典型使用场景

  • 确认是否有人给自己加了免密提权规则
  • 核对运维账号的授权范围是否超出必要
  • 排查「某账号突然能执行所有命令」这类异常
  • 做合规检查时列出所有免密条目
  • 清理后验证授权是否恢复为既定基线

扫描免密与全权配置

扫描免密与全权配置
sudo visudo -c                                             # 先做语法检查
sudo grep -rEn 'NOPASSWD|ALL[[:space:]]*=|!authenticate' /etc/sudoers /etc/sudoers.d/ | head -n 40
sudo ls -la /etc/sudoers.d/                                # 看文件名与时间戳
sudo ls -lt --time-style=full-iso /etc/sudoers /etc/sudoers.d/ | head
sudo -l -U www-data 2>/dev/null | head -n 20               # 某个用户的真实权限
sudo grep -rEn 'LD_PRELOAD|env_keep' /etc/sudoers /etc/sudoers.d/ | head

危险模式读法

模式含义风险
NOPASSWD: ALL免密执行任何命令等同于直接给出 root 权限
ALL=(ALL) NOPASSWD: /usr/bin/vi授权一个可逃逸的程序编辑器可起 shell,实际等于放开 root
通配符命令如 /bin/cp * 或 /usr/bin/find *参数可控即可变相执行任意命令
%wheel 或 %sudo 组授权整组用户获得权限组内任意成员变化都会扩大攻击面
Defaults !authenticate全局关闭口令校验任何能用 sudo 的账号都可免密提权
env_keep 含 LD_PRELOAD 之类保留可注入的环境变量可借环境变量实现在提权过程中注入代码
改动 sudoers 必须用 visudo:它会在保存前做语法检查并使用锁机制,手工编辑一旦写错,所有依赖 sudo 的自动化与运维操作会立刻失效,恢复往往需要单用户模式。
排查要覆盖被忽略的文件:文件名含点号或波浪号的片段不会被 sudo 读取,所以既要看真实生效条目,也要看目录里有没有这类残留文件——它们可能是攻击者留下的手法痕迹,也可能是误操作产物。

易错点

  • 只查 /etc/sudoers:sudoers.d 下的独立片段才是常被加塞的位置,必须整目录扫描
  • 手工编辑 sudoers:一次语法错误就会让全机 sudo 失效,务必使用 visudo
  • 只看关键字不看具体命令:授权一个可逃逸的程序同样是完整的提权路径
  • 忽略组授权:把普通账号加入已有授权组,效果与直接写规则完全一样
  • 改完不做验证:应当用 sudo -l -U 复核实际权限,并检查 sudo 日志确认没有异常使用

数据来源与参考

  • sudoers(5) 手册
  • CIS 基准:sudo 配置

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌