首页/安全/取证与溯源速查/sudoers 授权变更核查
Linux 取证135 条

sudoers 授权变更核查

sudoers 与 /etc/sudoers.d/ 决定谁能提权,新增的 NOPASSWD 条目会让攻击者免口令获得 root,是提权持久化的常见落点。

取证与溯源速查安全更新于 2026-10-13

sudoers 为什么重要

Linux 上的 sudo 权限完全由 /etc/sudoers 与 /etc/sudoers.d/ 目录下的片段文件决定,谁能以 root 身份运行什么命令都写在里面。提权持久化的常见落点就是往这里加一条规则:NOPASSWD 让攻击者不需要口令即可提权,ALL=(ALL) ALL 直接给全部权限。检查 sudoers 既要看内容,也要看文件时间与校验结果,才能区分“本来就有的运维规则”和“事件窗口内被加上的规则”。

基本信息

适用平台安装 sudo 的 Linux/Unix(RHEL、CentOS、Ubuntu、Debian 等)
文件/etc/sudoers 与 /etc/sudoers.d/* 片段文件
危险模式NOPASSWD、ALL=(ALL) ALL、指向可写目录下的脚本、免密通配命令
语法检查visudo -c(只检查不修改),也可用 visudo -cf 指定单个文件
加载规则片段文件按文件名字典序加载;文件名含点或以 ~ 结尾的文件会被忽略

典型使用场景

  • 核查事件窗口内是否新增提权规则,定位持久化落点
  • 确认服务账号是否被赋予了超出业务需要的 sudo 权限
  • 排查“命令能免密执行”的异常现象,确认是否来自 sudoers 变更
  • 在清理前固定证据:保存文件内容、时间戳、哈希与所属包校验结果
  • 交接与合规检查:定期比对 sudoers 与基线版本的差异

核查步骤

核查步骤
# 1) 语法有效性检查(不修改文件,安全)
visudo -c
# 2) 列出所有危险模式:免密、全权限、通配命令
grep -Rn -E 'NOPASSWD|ALL=\(ALL\)|ALL:ALL' /etc/sudoers /etc/sudoers.d/ 2>/dev/null
# 3) 看片段文件的时间与属性(新增文件通常会暴露)
ls -l --time-style=full-iso /etc/sudoers /etc/sudoers.d/
# 4) 用包管理器校验配置文件是否被改动(以发行版工具输出为准)
rpm -Vf /etc/sudoers 2>/dev/null || debsums sudo 2>/dev/null
# 5) 固定证据
md5sum /etc/sudoers /etc/sudoers.d/* > /case/sudoers-hashes.txt

可疑规则对照

规则形态含义风险
user ALL=(ALL) NOPASSWD: ALL该用户免密获得全部权限凭据泄露即等于 root
%group ALL=(root) /bin/bash整组用户可获得 root shell范围远超实际需要
user ALL=(ALL) ALL需要口令但无命令限制口令一旦泄露无第二道防线
(root) NOPASSWD: /tmp/*免密执行可写目录下的任意程序路径可控等于任意命令执行
Defaults env_keep+=LD_PRELOAD保留提权时的环境变量可被用于动态库劫持
sudoers.d 里文件名含点或以波浪号结尾的文件会被 sudo 跳过(避免编辑器临时文件生效);如果发现了规则文件却“不生效”,先确认命名规则,再判断文件是否被实际加载。
检查时不要用文本编辑器打开 /etc/sudoers:直接编辑或在保存时产生临时文件都可能破坏配置,导致所有 sudo 权限失效。查看用 cat/grep,修改必须走 visudo。

易错点

  • 只用 grep 看关键词不比对时间:运维基线里可能本来就有 NOPASSWD 规则,必须结合文件 mtime 与变更单区分新旧
  • 忽略 /etc/sudoers.d 的加载顺序与被忽略的文件名:字典序靠后的同名规则会覆盖,含点或波浪号的文件会被跳过,会得出“规则无效”的错误判断
  • 用编辑器直接改 sudoers 文件:语法错误会让 sudo 全局失效,严重时导致无法提权运维,改动必须通过 visudo 并先做语法检查
  • 把 sudoers 变更当独立事件:单看这一处说明不了提权链路,要与认证日志里的 sudo 执行记录配对才能还原完整路径
  • 清理时直接删除可疑规则:删除前要保存原文件内容、哈希与 mtime,否则后续无法证明变更性质,也难以复核

数据来源与参考

  • man 5 sudoers(sudo 官方文档)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌