監控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