-
Notifications
You must be signed in to change notification settings - Fork 4
1 需求分析
okokme edited this page May 17, 2019
·
3 revisions
- 项目来源:2019深度软件开发大赛
- 项目名称:瑞星文件管控客户端
- deepin Linux x86_64 系统
- 编译时,g++版本有限制(请使用最新版本)
- 区分服务端与客户端,一般运行在不同的机器上
- 正式的运行环境是N(N>=2)台计算机节点,通过有线或者无线互联,且运行服务端机器有客户端机器能直连的IP地址
- 监视和记录指定目录文件下文件事件(包括打开和关闭),当打开和关闭事件发生时,client向server发送一个文件事件信息(包括文件路径、文件句柄、和操作方式等等)
- 用户在配置了指定的监视服务器后,必须等待server对该文件进行指令后,才可根据规则执行操作(操作包括:读取、删除、重写等)
- 当监视服务器关闭或网络不通时,client拒绝任何操作,不允许任何人打开文件
- 当没有配置监视服务器时,根据默认权限执行操作
- 关于多进程同时对多文件执行不同操作的情况
- 关于服务端同时接受多个客户端请求执行的情况
- 客户端服务端进行通信,包括客户端使用(XX协议)进行事件信息上传和服务端进行下发指令
- 文件系统监听、审计
- 在对某目录或文件进行监测的时候,使用hook技术在ring0层来拦截系统调用(包括open close 以及读写操作),执行我们自己的代码模块。在这个过程中,通过服务器的反馈来决定是否同意被监视进程对该文件的所有操作。
- 7*24小时不间断操作,如果崩掉能做到及时重启。
- 系统调用属于一种软中断机制,它有操作系统提供的功能入口(sys_call),将本来的系统调用位置改成自己的系统调用位置,然后执行相应的操作。
版权所有 ©️ XiYouLinux Group