文件丢失,我想知道它们发生了什么

文件丢失,我想知道它们发生了什么

不知何故,目录中缺少一些文件,我想知道这些文件发生了什么。谁移动/删除了它们?我该如何调查?

我们可以获得目录的历史记录吗?

这些是 AIX 6.1 上的普通用户文件;我不知道正在使用什么文件系统。

答案1

作为一种暴力方法,假设您有权访问所有用户目录并且所有用户都使用 bash 作为默认 shell,您可以搜索他们的历史文件:

grep 'deletedfilename' /home/*/.bash_history

假设它们最近被删除,命令仍然保存在用户的 shell 历史记录中,这将显示谁删除了这些文件。您还可以扩展它来搜索其他 shell 的等效文件。例如:

grep 'deletedfilename' /home/*/.bash_history /home/*/.zsh_history 

答案2

如果它们可能被移动,请尝试通过以下方式找到它们locate- 如果它们不久前被移动,在最后一次运行之前updatedb(通常是每日),就会找到它们:

locate --existing --basename 'foo.txt'

或使用短选项:

locate -eb 'foo.txt'


如果没有找到它们,您可以使用该find命令。

find猜猜在更大的目录树上 使用之前,可以在哪里选择要递归搜索的目录。

请注意有关远程文件系统- 例如,在运行之前find /home -name foo.txt,检查是否可以自动挂载所有主目录 -可能有数千,以及您是否想要这样。

答案3

除了 terdon 推荐的搜索之外,您还可以按文件夹名称搜索。

因此,如果有人使用通配符删除(或移动)文件,您可能找不到任何历史文件中指定的任何文件名。

例如,如果有人这样做:

$ cd /home/mydir
$ rm *
    Or
$ cd somewhere-else
$ mv /home/mydir/* .

您不会在其历史记录中找到任何文件名,但您会发现mydir

所以,也尝试一下:

grep 'mydir' /home/*/.bash_history /home/*/.zsh_history 


还:我不知道这是否可能,但也许这是由于超出磁盘配额后进行一些自动清理而发生的。这将是一项相当残酷的政策,但我认为这是可能的,而且可能值得研究。

相关内容