前言


  • 涉及命令

md5sum

  • 命令详解:  

  linux 下 shell命令 ,制作md5码也用于软件的md5校验.MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。

  • 使用方法

  1. 使用md5sum来产生指纹(报文摘要)命令如下:

md5sum filename > filename.md5

或者

md5sum filename >>filename.md5

也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符*,比如某目录下有几个iso文件,要把这几个iso文件的摘要输出到iso.md5文件中,命令如下:

md5sum *.iso > iso.md5

2、使用md5报文摘要验证文件,方法有二:

把下载的文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:

md5sum -c file.md5

然后如果验证成功,则会输出:正确



实例:

  监控/etc/passwd文件是否被修改。


[root@lnmp libexec]# md5sum /etc/passwd >/etc/chbo.md5

[root@lnmp libexec]# md5sum -c /etc/chbo.md5             

/etc/passwd: OK

[root@lnmp libexec]# cat check_passwd 

#!/bin/sh

char=`md5sum -c /etc/chbo.md5 2>/dev/null|grep "OK"|wc -l`

if [ $char -eq 1 ];then

        echo "passwd is ok"

        exit 0

else

        echo "passwd is changed"

        exit 2

fi


思路拓展:

  1. 这个可以放在remote_linux下的/usr/local/nagios/libexec/下

  2. 在remote_linux下的/usr/local/nagios/etc/nrpe.cfg

    [root@lnmp etc]# tail -1 nrpe.cfg

    command[check_passwd]=/usr/local/nagios/libexec/check_passwd

  3. 然后可以在nagios_server下通过插件check_nrpe调用remote_linux下的NRPE deamom检测/etc/passwd文件是否被修改。