是否可以在 Windows 或 Linux 中记录文件系统事件?

是否可以在 Windows 或 Linux 中记录文件系统事件?

是否可以在工作站上记录文件系统事件,例如文件和文件夹的复制、修改、删除和创建?我主要使用 Windows,但我想知道这是否也可以在 Linux 上实现。如果没有内置这样的功能,是否有商业产品可以提供此功能?

这就是我希望日志文件包含的内容。

Date         Time    User      Action   Type    Source                   Destination
2013-03-12   15:10   Austin    Copy     File    K:\Alabama\Mobile.txt    L:\Mobile.txt
2013-04-15   09:12   Bradley   Create   Folder                           C:\Chicago
2013-04-23   13:45   Cedric    Delete   Folder  G:\Colorado
2013-05-04   16:03   David     Modify   File    D:\Florida\Miami.txt

它可能看起来不完全像这样,但有些类似。我想知道谁在什么时间、在哪里以及对哪个文件夹或文件做了什么。这是一个看似非常简单的日志,但它非常有用。

更新

上面链接的问题中建议的解决方案是使用组策略Microsoft 管理控制台启用对象审计,然后事件查看器查看日志。

我在桌面文件夹中启用了我自己用户名的审核,并尝试创建一个文本文件。在创建文件的同一秒内,日志中产生了 39 个新事件!我查看了创建文件时的时钟,然后过滤了日志以查找在那一秒创建的事件。然后我必须逐一查看它们以找到明确说明文件路径和名称的事件。

当我尝试删除文件(永久删除,而不是回收到垃圾箱)时,在同一秒内记录了 210 个事件。谁会想浏览所有事件来找到正确的事件?要找到确切的事件,我必须事先知道某个事件已经发生。这使得整个目的变得毫无用处。我需要知道一些关于事件的信息,即创建的文件的名称或其他信息,然后尝试过滤它。有 28000 个事件存储在安全日志

因此,我认为这不是解决问题的办法。好吧,无论如何,这不是一个智能方法。使用专用工具会更容易。Windows 中的安全日志记录了所有与安全相关的事件,而这些事件对我来说完全不感兴趣。

答案1

听起来像是一份工作进程监控在 Windows 上,以及通知等待在 Linux 上

例子:

这是一个进程监视器运行情况的屏幕截图

这里是 inotifywait 监视特定子目录的更改:

$ inotifywait -m /tmp/stuffthings/
Setting up watches.  
Watches established.
/tmp/stuffthings/ OPEN,ISDIR 
/tmp/stuffthings/ CLOSE_NOWRITE,CLOSE,ISDIR 
/tmp/stuffthings/ CREATE file.txt
/tmp/stuffthings/ OPEN file.txt
/tmp/stuffthings/ MODIFY file.txt
/tmp/stuffthings/ CLOSE_WRITE,CLOSE file.txt

您可以在 Ubuntu 上安装 inotifywait 和相关程序,如下所示:

sudo apt-get install inotify-tools

相关内容