记录每个 SUID 程序的每次调用?

记录每个 SUID 程序的每次调用?

我想要一个日志文件,其中包含用户每次运行任何 suid 程序时的条目,其中包含用户名、程序和传递给它的任何命令行参数。在 Linux 上有实现这一目标的标准方法吗?

答案1

您可以通过以下方式记录特定可执行文件(setuid 或非 setuid)的所有调用审计子系统。文档相当稀疏;从auditctl 手册页, 也许本教程。最近的发行版都会附带一个auditd软件包。安装它并确保auditd守护进程正在运行,然后执行

auditctl -A exit,always -F path=/path/to/executable -S execve

并观察呼叫是否已登录/var/log/audit/audit.log(或您的发行版已设置的任何地方)。

相关内容