前言
涉及命令:
md5sum
命令详解:
linux 下 shell命令 ,制作md5码也用于软件的md5校验.MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
使用方法:
使用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
思路拓展:
这个可以放在remote_linux下的/usr/local/nagios/libexec/下
在remote_linux下的/usr/local/nagios/etc/nrpe.cfg
[root@lnmp etc]# tail -1 nrpe.cfg
command[check_passwd]=/usr/local/nagios/libexec/check_passwd
然后可以在nagios_server下通过插件check_nrpe调用remote_linux下的NRPE deamom检测/etc/passwd文件是否被修改。