【问题标题】:How can I find files where ctime and mtime differ?如何找到 ctime 和 mtime 不同的文件?
【发布时间】:2018-05-10 15:42:51
【问题描述】:

有时,网站被黑客入侵,入侵者隐藏了新的或修改过的文件,更改了文件的日期 (mtime)。通常,他们会将其设置为最近的日期。

使用类似的东西

find . -type f -ctime -3 -exec ls -ls {} \;

我可以找到最近 3 天内更改或添加的文件,如果 mtime 使用touch 或其他技巧更改。

问题在于,这通常会产生一长串已被正常活动更改的文件。

我的想法是:如果我能找到具有“奇怪”ctime - mtime 的文件,那么监控就更简单了。在我的想法中,如果我能找到 mtime > ctime 或 mtime 和 ctime 非常不同的文件,这将大大简化。

有没有办法用find 做到这一点?

【问题讨论】:

  • 添加更多相关标签。
  • 很多人只想将查找的结果存储到数据库中,然后使用 SQL 进行报告。这样你也有一段美好的历史。
  • 感觉这个问题可能更适合serverfault.com
  • 这基本上是“我如何使用 find?”,即应用程序支持。我不明白这是一个编程问题。
  • 我没有兴趣重写另一个助手或类似的软件。我很简单,需要一个快速解决方案来解释所解释的海豚。我阅读了 find 手册页并搜索了一下,但我没有找到一个简单的解决方案。

标签: shell find-util


【解决方案1】:

列出当前目录中修改日期(stat -c %Y)与更改日期(stat -c %Z)不同的所有文件

stat -c %n#%Y#%Z * | awk -F# '{if ($2 != $3) print $1}'

对于那些不想在执行前了解的人

find . -type f -exec stat -c %n#%Y#%Z {} \; | awk -F# '{if ($2 != $3) print $1}'

【讨论】:

  • 问题是:有没有办法用 find 做到这一点?
猜你喜欢
  • 2015-08-23
  • 1970-01-01
  • 2021-03-10
  • 2015-08-24
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
相关资源
最近更新 更多