写在前面:
对于生产环境系统来说,系统文件被动了手脚之后,排查起来很花精力,我们今天来看其中的一个小方法:对系统重要目录文件,定期计算校验 MD5 码,初步了解文件变化情况,并可把校验结果以 E-mail 的方式,提交给指定邮箱!
![6193ae459bee6f429c9d9201667d4a2b.png](https://i-blog.csdnimg.cn/blog_migrate/197f1cfed79b317351d32561777687ca.jpeg)
一,导出重要文件列表:
- # ls /etc/{passwd,shadow,group} > important.file
- # find /usr/sbin /usr/bin -perm /6000 >>important.file
二,计算初始 MD5值:
- # vim md5.sh
#!/bin/bashfor filename in $(cat important.file)do md5sum $filename >> finger1.filedone
- # sh md5.sh
- # 输出 finger1.file
- # chattr +i finger1.file
三,编辑最新校验代码:
- finger1.file 和 finger_new.file 进行比较,决定是否发送邮件!
- # vim md5.checkfile.sh
[ -f finger_new.file ] && rm finger_new.filefor filename in $(cat important.file)do md5sum $filename >> finger_new.filedone testing=$(diff finger1.file finger_new.file) if [ "$testing" != "" ] ; then diff finger1.file finger_new.file | mail -s 'finger trouble.' XXX@XX.comfi if [ "$testing" = "" ] ; then diff finger1.file finger_new.file | mail -s 'Well done! -ALL are OK!' XXX@XX.comfi
四,运行测试,邮件到达:
- # sh ./md5.checkfile.sh
- Null message body; hope that's ok
![44efe4fe72e06e2de83135dbe00b4fd7.png](https://i-blog.csdnimg.cn/blog_migrate/c1cf93f52664a053ee074c61b0b33625.jpeg)
![1336cf223ac7c53b1fd2d6f8343c3bdd.png](https://i-blog.csdnimg.cn/blog_migrate/8a6d4c1c102e8fbff3fcaaccf2b974c6.jpeg)
五,设置定时执行,例如N小时执行一次!
- # vim /etc/crontab
- 0 */6 * * * cd /; sh md5.checkfile.sh