检查Unix/Linux的文件完整性

pon*_*omy 4 unix linux

我不知道如何通过散列算法md5来检查Unix/Linux上的文件的完整性.我参与开发bash脚本以检查Linux上每个特定文件夹(包括子文件夹)中所需文件的md5.所以我的问题是可以吗?背景是在对系统进行更改之前检查文件的完整性.

感谢您的建议,Ponomy

Dan*_*nov 5

这很容易做到!使用该md5sum命令.


小智 5

md5sum 不是递归的,这是他的问题中特别要求的。也许find /path/to/files -type f -print0 | xargs -0 md5sum > checksum.md5就足够了,但我更喜欢 hashdeep 工具。

使用md5deep -r /path/to/files > checksum.md5。然后,您可以用来md5sum -c checksum.md5 | grep -v ' OK$'检查是否有任何更改。当然,这不会检测到任何新添加的文件。如果你偏执的话,你也可以使用 sha256deep 和 sha256sum。;-)

您也可以用来md5deep -rx checksum.md5 /path/to/files进行检查。或者,您可以使用hashdeep -r /path/to/files > hashes然后hashdeep -ravvk hashes /path/to/files“审核”文件。我不太喜欢 hashdeep 工具进行检查和审计的方式,但您可能会认为这很棒,所以就这样吧。:-)

当然,这些都不会检查文件元数据(时间戳、所有权、权限等)。但随后您就会接触到 TripWire 或 AIDE 之类的东西。