![cron 上的 chkrootkit 但只有检测到阳性(无论是否为假)时才报告](https://linux22.com/image/693081/cron%20%E4%B8%8A%E7%9A%84%20chkrootkit%20%E4%BD%86%E5%8F%AA%E6%9C%89%E6%A3%80%E6%B5%8B%E5%88%B0%E9%98%B3%E6%80%A7%EF%BC%88%E6%97%A0%E8%AE%BA%E6%98%AF%E5%90%A6%E4%B8%BA%E5%81%87%EF%BC%89%E6%97%B6%E6%89%8D%E6%8A%A5%E5%91%8A.png)
我想创建一个运行 chkrootkit 的 cron 作业,但只在结果为正(无论是否为负)时通过电子邮件将结果日志发送给我。chkrootkit 常见问题解答给出了以下建议:
0 3 * * * (cd /path/to/chkrootkit; ./chkrootkit 2>&1 | mail -s "chkrootkit output" root)
...但我运行一个包含 100 多个节点的 HPC 集群。我只希望它在检测到需要我注意的事件时发送日志。
我该如何做呢?
答案1
来自自述:
输出消息
chkrootkit在测试期间会打印以下消息(和
-x
命令选项除外):-q
“
INFECTED
”:测试发现一个可能被已知 rootkit 修改的命令;
...
因此,编写一些小脚本来运行chkrootkit
并将输出重定向到临时文件,解析临时文件中的字符串“ INFECTED
”,如果找到,则发送一封包含相关信息的电子邮件以识别主机并将该临时文件添加为附件,删除临时文件。