![是否有可能知道文件何时被删除?](https://linux22.com/image/1034589/%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%AF%E8%83%BD%E7%9F%A5%E9%81%93%E6%96%87%E4%BB%B6%E4%BD%95%E6%97%B6%E8%A2%AB%E5%88%A0%E9%99%A4%EF%BC%9F.png)
有可能知道吗?比如它们是什么时候被删除的、被哪个用户删除的等等;或者关于文件的任何信息是否被彻底删除了
答案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
首先检查文件的权限。
这可能与你正在寻找的并不接近,但它可能有用。与建议的备份进行比较杰基布将为您提供更加详细的信息。