系统管理工具包: 测试系统的有效性
2008-11-11 08:12:28 来源:WEB开发网要使用该脚本,首先需要生成一个包含基本校验和与其他数据的文件来充当基本比较文件。例如,要为 /etc 目录创建校验和数据文件,可以使用以下命令行:$ genmd5.pl --basedir=/etc --chksumfile=etc-chksum.dat
现在已经有了该信息,如果编辑一个文件,然后重新运行脚本,则应得到一个差异报告。在清单 9 中,可以看到编辑 /etc/hosts 文件后的结果。
清单 9. 编辑 /etc/hosts 文件后的结果
$ genmd5.pl --basedir /private/etc --compare
Warning: /private/etc/hosts differs from that on record
chksum differ; was d4a23fcdaa835d98ede1875503273ce6,
now beb50782b3fd998f35786b1e6f503d1b
inode differ; was 4879566, now 4879581
size differ; was 1186929905, now 1186930065
mtime differ; was 1186929905, now 1186930065
Couldn't find /private/etc/hosts~, but have the info on record
请注意,您报告了单个文件中的差异和已删除该文件这一事实。如果已创建了新文件,则也会报告差异。
使用校验和数据
使用清单 6 中的脚本可以生成用于测试和验证系统有效性的文件。当然,存在文件这一基本事实意味着您必须安全地存储该信息,否则任何人都可以更新该信息,其中包括碰巧使用计算机并更改您需要保护的文件的任何未经授权的个人。
对此信息没有任何硬性规则,但需要清楚的一点是,将创建的文件存储在生成它的同一计算机上不是一个好主意——在找到该文件后可能会将其更改。将该文件存储在同一网络中的另一台计算机上的情况与此相同。在找到该文件后,可能会将其破坏和更改。最佳解决方案是将该文件写入 CD 或 DVD,它们可以完全脱离计算机保存。
此解决方案的问题是您必须保持该信息是最新的。每次合法更新或更改您监控的文件后,必须更新校验和文件。
尽管该流程有些繁琐,但该文件提供的安全信息带来的好处是不可估量的。
总结
在本文中,您开发了可用于生成信息的脚本,使用它可以检查文件或整个文件目录的有效性。记录的信息包括文件路径、比较文件内容的文件校验和与识别文件差异的唯一信息(索引节点、权限、所有权信息)。
如何使用此脚本完全取决于您自己。您可以存储该信息,并经常运行脚本,以便在发生问题时立即发现问题,或者在出现问题时将该文件用作事后检查工具,来查找更改了哪些文件,从而列出要检查的文件。
更多精彩
赞助商链接