项目简介
本项目是基于Linux fanotify API的文件系统事件监控管理系统。借助fanotify,可对文件或目录的访问、修改等操作进行实时监控,并按需做出响应。项目包含内核补丁与应用部分fapolicyd的整合及优化。
项目的主要特性和功能
- 内核功能移植:将fanotify的FAN_OPEN_EXEC和FAN_OPEN_EXEC_PERM功能从kernel v5.0移植到v3.10.0版本;增加FAN_*_PERM事件的超时处理功能,若应用层响应超时,内核会模拟应用层发送预设的默认response。
- 系统配置选项:提供一系列sysctl配置选项,可用于调整监控行为,如响应超时时间、定时器扫描周期等。
- 应用整合:整合fapolicyd应用,为CentOS 7提供v0.9.1和v1.0.1版本的打包。
安装使用步骤
假设用户已下载本项目的源码文件。
1. 应用内核补丁:将内核补丁(如fanotify_exec-3.10.0.patch
等)应用到相应的内核版本。
2. 编译内核:配置和编译内核,确保fanotify相关功能被正确集成。
3. 安装fapolicyd:安装和配置fapolicyd应用,按需进行相关设置。
4. 运行监控程序:运行本项目的程序(如fanotify.c
编译得到的可执行文件),通过命令行参数配置监控需求和响应行为;程序会创建fanotify文件描述符,并添加监控标记,随后开始监控文件系统事件。
5. 处理事件:当发生监控事件时,程序将调用handle_events
函数处理事件,并根据配置发送响应到应用层。
注意事项
- 因存在性能问题和潜在的系统卡死风险,使用本项目时需谨慎评估并合理配置相关参数。
- 建议先在测试环境中尝试,并仔细阅读和遵循相关文档与使用指南。
- 不当使用可能导致系统不稳定或其他未预期的问题。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】