是否有可能知道文件何时被删除?

是否有可能知道文件何时被删除?

有可能知道吗?比如它们是什么时候被删除的、被哪个用户删除的等等;或者关于文件的任何信息是否被彻底删除了

答案1

如果删除是指“移至垃圾箱”,那么答案是肯定的,也可能不是。您始终会知道是谁将文件移至垃圾箱,因为文件最终会进入他们的垃圾箱。您不知道文件何时被移至垃圾箱,因为移动操作不会更新文件的时间戳。

如果您所说的删除是指rm“清空垃圾”,则不是。ext2/3/4 文件系统不打算将恢复删除作为一项功能,因此不会存储您想要的元信息。

当然,如果您定期备份,则可以推断出删除的时间窗口。

答案2

如果您感兴趣,inotifywait可以使用特定文件或目录,但它不会告诉您是谁做的。此外,通知不会区分对文件的普通写入和用垃圾填充文件或截断文件。

例如:

$ inotifywait -q /var/tmp/junk & sleep 2; touch /var/tmp/junk
/var/tmp/junk OPEN 
$ inotifywait -q /var/tmp/junk & sleep 2; cat /etc/hosts > /var/tmp/junk
/var/tmp/junk MODIFY 
$ inotifywait -q /var/tmp/junk & sleep 2; cat /dev/null > /var/tmp/junk
/var/tmp/junk MODIFY 
$ inotifywait -q /var/tmp/junk & sleep 2; rm /var/tmp/junk
/var/tmp/junk ATTRIB

请注意,如果没有 inotify 的--monitor选项,即使rm命令也只显示为一个ATTRIB操作,因为rm首先检查文件的权限。

这可能与你正在寻找的并不接近,但它可能有用。与建议的备份进行比较杰基布将为您提供更加详细的信息。

相关内容