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

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

[root@db01 ~]# mkdir  -p /var/www/html

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


[root@qls /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编程,随笔)