我想记录 Samba 共享上的所有用户删除操作。我注意到,当同时使用 vfs_audit 和 vfs_recycle 时,Samba 不会记录删除操作。在下面的配置中,[share1] 上的删除操作未记录,可能是因为文件没有“删除”,而是移动到了 /data/share1/.recycle
正如预期的那样,所有删除都记录在 [share2] 上。
有什么办法吗?我在 vfs_audit 手册页中没有看到记录 mv 的选项。
谢谢。
[global]
audit:prefix = %u|%I|%m|%S
audit:priority = notice
audit:facility = LOCAL7
vfs objects = audit
audit:failure = none
audit:success = mkdir rename unlink rmdir pwrite connect
[share1]
recycle:repository = .recycle
vfs objects = recycle
path = /data/share1
recycle:keeptree = yes
recycle:versions = yes
[share2]
path=/data/share2
答案1
我不知道如何实现这一点。但我已经测试了一种解决方法,可能对你的情况有用:
“记录”谁删除了文件,您可以将回收站的路径修改为 [.recycle/UserWhoDeletedTheFile] - 在您的配置中替换以下内容:
recycle:repository = .recycle
内容如下:
recycle:repository = .recycle/%u
上述操作将在“.recycle”中创建一个文件夹,并以删除文件/文件夹的用户的名称命名。
“记录”文件/文件夹被删除的时间,回收模块有一个更改修改时间的功能。将以下内容添加到您的配置中:
recycle:touch = yes
这会将文件/文件夹的修改时间更改为删除的时间。
注意:请记住,当删除文件夹时,只有文件夹本身的修改时间会被修改,而不会修改内容,这可能会导致一些混乱。