这个时候我们就要通过每个文件独特的指纹验证数据了!因为每个文件的内容与文件大小都不相同, 所以如果一个文件被修改之后,必然会有部分的信息不一样!利用这个特性,我们可以使用 MD5/sha1 或更严密的 sha256 等指纹验证机制来判断该文件有没有被更动过!举个例子来说,在每个 CentOS 7.x 原版光盘的下载点都会有提供几个特别的文件, 你可以先到下面的链接看看:


    • 仔细看喔,上述的 URL 里面除了有所有光盘的下载点之外,还有提供刚刚说到的 md5, sha1, sha256 等指纹验证机制喔!通过这个编码的比对, 我们就可以晓得下载的文件是否有问题。那么万一 CentOS 提供的光盘镜像文件被下载之后,让有心人士偷偷修改过,再转到 Internet 上面流传,那么你下载的这个文件偏偏不是原厂提供的,呵呵! 你能保证该文件的内容完全没有问题吗?当然不能对不对!是的,这个时候就有 md5sum, sha1sum, sha256sum 这几文件指纹的咚咚出现啦!说说他的用法吧!

    如何确认我们下载的文件是正确没问题的呢?这样处理一下:

    1. [root@study ~]# md5sum/sha1sum/sha256sum [--status|--warn] --check filename
    2. 选项与参数:
    3. -t :以文字体态来读取文件指纹。
    4. 范例一:将刚刚的文件下载后,测试看看指纹码
    5. [root@study ~]# md5sum ntp-4.2.8p3.tar.gz
    6. # 看!显示的编码是否与上面相同呢?赶紧测试看看!

    好了,那么如何应用这个东西呢?基本上,你必须要在你的 Linux 系统上为你的这些重要的文件进行指纹数据库的创建 (好像在做户口调查!),将下面这些文件创建数据库:

    • /etc/shadow (假如你不让使用者改密码了)
    • /etc/group
    • /usr/bin/passwd
    • /sbin/rpcbind
    • /bin/login (这个也很容易被骇!)
    • /bin/ls
    • /bin/top
      这几个文件最容易被修改了!因为很多木马程序执行的时候,还是会有所谓的“执行序, PID”为了怕被 root 追查出来,所以他们都会修改这些检查调度的文件,如果你可以替这些文件创建指纹数据库 (就是使用 md5sum 检查一次,将该文件指纹记录下来,然后常常以 shell script 的方式由程序自行来检查指纹表是否不同了!),那么对于文件系统会比较安全啦!