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