如何从用户进程监视Linux用户的文件修改而不是文件系统本身?

我们有一个需要填写的内容,那就是通过SSH协议每天给我们报告所有的变化(以及谁做的变化) 无论是文件还是数据库资源。

监视数据库操作是没有问题的,因为每秒我们有大约4000个查询,而每个logging只是为了捕获来自某个用户或主机的查询而需要一些计划。 但是可以这样做,所以我没关系。

我们有几个高级开发人员由于各种原因而ssh访问生产Web服务器。 可以使用VIM或其他常见的文本编辑器(如Pico)编辑文件,但是可以使用部署系统。 在这个部署过程之外,我们需要监视和报告Web环境何时被修改。

我们的网页目录结构中充满了超过5,000,000个不同的文件和文件夹,有些目录中有很多文件,命令“ls”打破或者简单地挂起。 这是一个inheritance的CRM系统,但它的生产。 出于这个原因,诸如ossec隐藏,inotify或其他系统/文件监视过程的实用程序将需要大量资源用于实时监视和通知。

而不是监视文件系统,应该可以简单地监视用户,并监视他们何时访问定义的path中的文件或目录,并logging他们所做的更改。

至于要求,我们需要每天提交一份日常的文件和数据库变更报告(通过ssh),如果需要的话,会产生什么样的变化(a前后)。 Linux的命令实用程序“脚本”几乎给我们的重播,除了它不喜欢在用户打开某些程序(vim等)时工作。 另一种logging方法是必要的。

我很惊讶没有一个真正的基于terminal的用户监控解决scheme的真正的软件包, 完成目录path跟踪,资源访问,带时间滑块的修改,可由主机或用户过滤的事件历史logging(local / ldap / etc)。

或者…有一个吗?

我认为审计可能是你在找什么。 虽然我不确定是否有能力logging差异。