用户在Linux中修改文件的历史

时间:2015-09-02 09:08:11

标签: linux unix kernel ls stat

我想知道是否有可能列出所有人随着时间的推移修改了文件。我知道stat or ls -lrt会给最后修改文件的用户。但我想知道是否有可能找到修改该文件的N-1用户。

注意:我认为找到这样的用户很有可能。只是想在宣布其死胡同之前与专家确认。

实施例

在凌晨1点,ABC修改了文件
凌晨2:00,XYZ修改了同一个文件。

我知道XYZ修改了文件,如何在XYZ之前找到谁修改了文件(在这种情况下是ABC)?

4 个答案:

答案 0 :(得分:1)

  

我知道stat或ls -lrt会给最后修改文件的用户。

没有。修改文件不会更改其所有者。

通常,文件系统不会跟踪修改历史记录。如果这些信息至关重要,那么可以选择

  1. 对于完整的文件层次结构:VCS(版本Vontrol系统),如Git,Subversion,Mercurial,CVS,......
  2. 对于单个文件,RCS或SCCS,......

答案 1 :(得分:1)

可以配置审核以跟踪特定文件的更改。有一些限制:

  • 必须在感兴趣的更改
  • 之前配置
  • 审计守护程序在被告知要查看已删除的文件时,往往会拒绝启动。

尽管如此,它还是有用的。以下是讨论该主题的一些有用链接:

答案 2 :(得分:0)

不可能跟踪用户详细信息,例如通过特定命令修改文件的用户名。只有我们才能通过ls -l检查分配给文件的用户名。

答案 3 :(得分:0)

可以使用的一种破解方法(仅适用于最近的修改),您可以检查文件的最后修改时间,并与用户的登录时间进行交叉检查。您也许可以缩小列表的范围。

  1. 使用stat命令(例如stat,See this
  2. 找到Modify时间
  3. 使用last命令查看历史记录(see this
  4. 将登录/注销时间与文件的Modify时间戳进行比较

这并非一直有效,但是您可以缩小结果范围。