我知道如何inotify
在 linux 下使用来监视文件系统事件。我想知道是否有任何类似于inotify
可用于监视非文件系统事件的实用程序。
例如,我想注册事件处理程序,这些事件处理程序可以由某些可执行文件的启动或关闭、收到与其他主机的连接或断开连接、文件系统的挂载或卸载、某些用户的登录或注销等事件触发,等等
该syslog
功能不足以实现此目的,因为(例如)任意可执行文件的启动和停止都不会记录在任何地方。对于任意挂载和卸载也是如此。
我知道我可以编写程序来从/proc
文件系统读取信息并根据它找到的条件执行代码。我也知道我可以编写程序来监视wtmp
和其他此类资源,并根据找到的内容类似地执行代码。但是,我想知道是否有某种类似的工具inotify
可用于将这些类型的非文件系统监视任务封装在标准接口下。
感谢您的任何建议。
我相信你至少可以用 Sysdig 做一些你正在寻找的事情
Chisels
。Sysdig 是一个开源工具,可让您监控 Linux 系统调用。凿子使您能够编写脚本以根据观察到的系统调用执行操作。看看用户指南
您还可以查看 Linux 审计子系统,关于 RHEL 的好文档位于https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing。
您可以添加规则,在审核日志中记录事件,并解析审核日志以执行您喜欢的任何操作。