![Linux定期系统检查脚本或实用程序](https://linux22.com/image/88388/Linux%E5%AE%9A%E6%9C%9F%E7%B3%BB%E7%BB%9F%E6%A3%80%E6%9F%A5%E8%84%9A%E6%9C%AC%E6%88%96%E5%AE%9E%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
是否有任何常用的 shell 脚本或实用程序可以定期检查 Linux 文件系统的更改,例如配置文件的权限或所有权更改。
我正在考虑类似的事情OpenBSD 的安全性(8),可以通过 cronjob 每周或每天运行一次,并生成简单的更改报告,但专为 Linux 定制或可跨不同的类 Unix 系统移植。
我最感兴趣的是 Linux Red Hat,但任何从便携式实用程序或任何类似操作系统开始的都很棒。
我在看家族和加明但这些 API 似乎是供应用程序开发人员使用的,而不是供仅希望定期监视某些文件和目录中的更改的系统管理员使用的。
答案1
使用审计包来完成此任务。
确保
auditd
服务正在运行,并设置为开机启动chkconfig auditd on
使用以下命令对要监视的所需文件设置监视
auditctl
:例如
auditctl -w /etc/hosts -p war -k 监视器主机
那是:
auditctl
:用于将条目添加到审核数据库的命令。-w
:在路径处插入文件系统对象的监视,即/etc/hosts
。-p
:设置文件系统监视的权限过滤器。 r=读取,w=写入,x=执行,a=属性更改。-k
:为审核规则设置过滤键。过滤器键是任意文本字符串,最长可达 31 个字节。它可以唯一地标识规则生成的审计记录。
笔记您必须/etc/audit/audit.rules
在 RHEL5 或 RHEL6(或/etc/audit.rules
RHEL4)上添加您的规则,以便它们在重新启动后仍然存在。
还有另一种回答作者:Stéphane Chazelas,你也可以看看,这可能会有所帮助。