欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

监控web站点目录(/var/html/www)下所有文件是否被恶意篡改。

程序员文章站 2022-07-10 08:22:55
...
监控web站点目录(/var/html/www)下所有文件是否被恶意篡改(文件内容被改了),如果有就打印改动的文件名(发邮件),定时任务每3分钟执行一次。

[[email protected] ~]# mkdir  -p /var/www/html

[[email protected] ~]# find /etc  -type f -name "*.conf" -exec cp {} /var/www/html/ \;


[[email protected] /service/scripts]# cat file_md5.sh
#!/bin/bash
Web_Dir=/var/www/html
Md5_File=/tmp/md5.txt
Old_Files=/tmp/old_files.txt
Check_Md5=/tmp/check.txt
#判断是否存在新文件
find $Web_Dir  -type f >$Old_Files
for b in $(cat $Old_Files)
do
    #判断文件是否存在md5
    New_File=$(grep -wc $b $Md5_File)
    if [ $New_File -eq 0 ];then
        echo "${b}为新添加文件之前没有生成md5值!现在生成!"
        md5sum $b >>$Md5_File
    fi
done
#判断文件是否被删除
for a in $(awk '{print $NF}' $Md5_File)
do                                                                                                                                    
    Old_File=$(grep -wc $a $Old_Files)
    if [ $Old_File -eq 0 ];then
        echo "${a}文件不存在!请检查是否被人为删除!"
    fi
done

#判断文件是否被修改过
md5sum -c $Md5_File >$Check_Md5 2>/dev/null
for c in $(cat $Old_Files)
do
    Check=$(grep -w $c $Check_Md5 |awk '{print $2}')
    if [ $Check != "OK" ];then
        echo "警告:${c}文件被修改过!请检查是否是本人修改!"
    fi
done

相关标签: 随笔 Shell编程