Skip to content
hurley edited this page Apr 27, 2019 · 1 revision

项目概况

背景

运行环境

  • deepin Linux x86_64 系统,理论上也兼容其他 x86_64 Linux 系统

条件与限制

  • 区分服务端与客户端,一般运行在不同的机器上
  • 正式的运行环境是N(N>=2)台计算机节点,通过有线或者无线互联,且运行服务端机器有客户端机器能直连的IP地址

业务功能需求

  • 监视和记录指定目录下文件的打开和关闭动作(文件系统事件),并上报服务端(文件路径、文件句柄、操作方式等)
  • 配置了指定的监视服务器情况下,可接受服务端下发的文件操作指令,包括不限于读取、删除、重写等
  • 当监视服务器关闭或者网络不通时,客户端拒绝任何操作,不允许任何人打开文件(拒绝监视目录的一切文件操作)
  • 监视服务器不存在或者未配置时,记录相关的操作到日志文件,监视服务器可以查询历史操作日志

业务功能需求补充说明

通过阅读题目中的“基本场景故事”,可以得知,这个客户端工具并不仅仅是监听文件系统事件并上报的功能,而是有权限对文件操作进行过滤、上报甚至拒绝的“保险箱”工具。所以需要考虑具体的实现方式,另外相关模块的设计和实现需要考虑到比较多的安全问题

系统功能需求

  • 文件系统操作监听和操作审计的功能,概要/详细设计中需要评估用户态还是内核态实现
  • 客户端和服务端通信的功能,用于包括相关的事件上报以及执行服务端下发的指令等

性能及运行需求

  • 7x24 小时运行,可随时重启,能自动恢复服务