需结合auditd监控/etc/sudoers变动并捕获sudo执行的auid字段:添加-w /etc/sudoers -p wa -k sudoers_modification和-a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_execution规则,通过ausearch -k 检索并提取auid精准溯源原始用户。

要监控 /etc/sudoers 文件变动并追溯执行提权操作的原始用户(即谁调用了 sudo),需结合 auditd 的文件监控与系统调用捕获能力。auditd 能在内核层记录真实调用者(auid,即登录会话初始 UID),不受 su 或 sudo 切换影响,这是实现可审计溯源的关键。
监控 /etc/sudoers 文件的写入和属性变更
该规则确保任何修改(包括 cp、vi、visudo 等方式)都被捕获,并打上唯一标签便于检索:
- 执行命令添加临时规则:
sudo auditctl -w /etc/sudoers -p wa -k sudoers_modification -
-w表示路径监控,-p wa指定监控写入(w)和属性变更(a),覆盖 chmod/chown/编辑等行为 -
-k sudoers_modification是检索关键词,后续可用ausearch -k sudoers_modification快速查日志 - 为永久生效,将规则写入
/etc/audit/rules.d/sudoers.rules:
-w /etc/sudoers -p wa -k sudoers_modification - 加载永久规则:
sudo augenrules --load(CentOS/RHEL)或
sudo systemctl restart auditd(Debian/Ubuntu)
捕获 sudo 执行行为并保留原始用户信息
仅监控 /usr/bin/sudo 本身不够——必须通过 execve 系统调用抓取完整上下文,其中 auid 字段恒为登录时的 UID,即使已切换为 root 也不会变:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 添加规则(64位系统):
sudo auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_execution -
-a always,exit表示在系统调用退出时记录,确保拿到返回值和参数 -
-F arch=b64明确架构,避免因 32/64 混合漏日志;如需兼容 32 位,另加一行-F arch=b32 - 永久化写入
/etc/audit/rules.d/sudo.rules,再运行augenrules --load - 验证是否生效:
sudo ausearch -m execve -i | grep sudo,应看到含auid=1001、uid=0、exe="/usr/bin/sudo"的条目
快速定位原始用户与操作细节
当事件发生后,用 ausearch 结合 auid 和 key 提取完整链路:
- 查所有 sudo 执行(含原始用户):
sudo ausearch -k sudo_execution -i | grep -E "(auid=|exe=|cmdline=)" - 查某次具体修改 sudoers 的操作者:
sudo ausearch -k sudoers_modification -i | head -n 20,重点关注auid和comm(如 vim、nano) - 若想关联同一会话中的前后操作(如先改 sudoers 再用 sudo):
提取某次事件的serial或msg时间戳,再用ausearch -ts HH:MM:SS向前/后查 30 秒内的其他事件
补充建议:防止绕过与增强可信度
auditd 规则本身防篡改,但需注意配置完整性:
- 确认
auditd开机自启且运行中:
sudo systemctl is-active auditd 应返回active - 检查关键字段是否启用:运行
sudo auditctl -s | grep "enabled\|audit_backlog_limit",确保 enabled=2(强制模式) - 限制日志权限:
sudo chmod 600 /var/log/audit/audit.log,防止非 root 读取 - 定期归档或同步日志到远程 SIEM,避免本地删除风险

















