加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

系统管理工具包: 测试系统的有效性

发布时间:2016-08-09 16:51:04 所属栏目:Unix 来源:站长网
导读:关于本系列 典型的 UNIX 管理员拥有一套经常用于辅助管理过程的关键实用工具、诀窍 和系统。存在各种用于简化不同过程的关键实用工具、命令行链和脚本。其中一

一个简单的方法是在其他计算机上保存配置文件的副本 (及其关联的参数),然后对本地文件和远程文件进行常规比较。此方法带来的问题是需要占用大量的空 间,更重要的是,需要花大量的时间记录和比较这些信息。此方法还可能影响以实时方式比较信息。

另一个经常提议的方法是只记录文件大小、修改时间、模式和所有权信息。因为与文件全部内容 相比,该信息比较短,更易于存储和快速检查和验证。

问题是文件的大小无法确切指示内容是否 已更改。请考虑下面这个只包含一行的文件:location:/home/mcbrown

下面是一个 同样大小的文件,但有一行已经更改:location:/home/slbrown

这两个文件的长度 都是 22 个字符,但是内容不同,这种看似简单的更改可能导致严重的后果,即使检查文件大小,也查不 出有任何不同。

至于其他参数、修改时间、文件模式和其他信息都有可能被修改。您可以使用 touch 命令更改修改时间。甚至通过更改计算机上的时间和重新创建该文件可以伪造文件创建时间。

在 UNIX 系统上非常难以更改的一个项目是文件索引节点数值。索引节点数值是第一次创建文件 时提供给文件的唯一 ID。基础文件系统驱动程序使用索引节点数值识别文件系统上的文件。在编辑文件 后,索引节点通常会发生更改,因为大多数编辑器在删除旧文件并将新文件重命名为最初名称之前会创建 新文件,并将新内容写入该文件。因此,进行索引节点比较是检查文件是否已编辑的很好方法。

记录这些信息片段仍然是不够的,还需要一种比较文件内容的有效方法。最好的方法可能要数使用文件校 验和。

文件校验和

为文件创建校验和是比较文件内容是否更改的传统方法,该方法无需物 理比较每个文件的每个字节。

校验和的工作方法是对文件内容使用一个算法。该算法为文件内容 生成几乎是唯一的指纹。可以通过许多不同的方法完成此任务。例如,可以将每个字节的值加起来,使用 一种算法将复杂的计算应用到给定文件的各个位或位组。具体方法不在本文的讨论范围之内,并且使用哪 种方法取决于您使用的校验和工具。

UNIX 包括一个简单的校验和命令 sum。此命令非常简单,但 是它提供了可用于识别大多数文件之间差异的近乎唯一的数值。不过,此算法也存在一些局限性。许多现 代解决方案提供了 md5 命令。后者生成一个文件的 128 位指纹,并且可以在理论上为任意大小的任何文 件生成唯一的签名。

生成校验和信息的 md5 算法最初是为在加密文件之前生成文件的唯一指纹而 开发的,这样可以保证解密文件的有效性。可以将 md5 生成的校验和表示为二进制字符串、十六进制字 符串或 base64 编码字符串。在 MIME 电子邮件中使用了后一格式,以确保唯一地标识文件中不同的附件 。

为文件创建校验和

因为存在用于创建校验和信息的命令行解决方案,所以可以直接在命 令行上创建任何文件的校验和。校验和信息唯一程度的一个很好示例是使用先前演示的文件示例,该示例 具有相同的物理长度和内容,但只有字符不同。

您可以使用一个命令获得两个文件的校验和,如 清单 1 所示。

清单 1. 使用一个命令获得两个文件的校验和

$ sum old new
50093 1 old
62381 1 new

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读