如何检查我的 Linux CentOS 中的进程是如何被终止的?

如何检查我的 Linux CentOS 中的进程是如何被终止的?

我对 Linux 管理还很陌生。我的问题是,有没有办法检查日志文件或任何文件,了解我的进程如何收到 TERM 信号或被终止。我们能知道是谁以管理员身份终止了正在运行的进程吗?可能是因为另一个管理员进行了一些系统更新?

答案1

您可以使用审计来审计 kill 的系统调用。编辑文件 /etc/audit/audit.rules (EL6)(或 /etc/audit/rules.d/audit.rules(EL7))并添加类似以下内容的内容

-a entry,always -F arch=b64 -S kill -k catch_kill

重新启动 auditd

service auditd restart

注意:您需要执行EL7 重新启动 auditd也。

现在您可以在审计日志中搜索标记的条目catch_kills

ausearch -k catch_kills

并获得这样的条目,它可能会告诉您您想知道的内容。

时间->2016 年 9 月 4 日星期日 19:05:54 类型=OBJ_PID 消息=审核(1473012354.105:6138):opid=3151 oauid=1000 ouid=0 oses=619 obj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 ocomm="sleep" 类型=SYSCALL 消息=审核(1473012354.105:6138):arch=c000003e syscall=62 成功=是 退出=0 a0=c4f a1=f a2=0 a3=7ffd235ac0d0 项目=0 ppid=3046 pid=3050 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=619 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="catch_kills"

关于 EL 审计系统的大量文献资料Red Hat 网站

相关内容