#!/bin/bash
# jihongrui@jsqix.com
# 每天检查当日 SSH 异常时间登陆 和 系统关键位置文件有没有修改
###########################################################################################
#Auto Crontab
path_dir=$(cd "$(dirname "${0}")" && pwd)
file=$(echo "$0"|awk -F '/' '{print $NF}')
abs_file="${path_dir}/${file}"
log_file="${abs_file}.log"
if [[ $(grep -c "${abs_file}" /etc/crontab) -eq 0 ]] && [[ $UID -eq 0 ]]
then
echo "59 23 * * * ${USER} ${SHELL} ${abs_file} &>> ${log_file} ">> /etc/crontab
fi
###########################################################################################
#day=$(date +%d)
DIP=$(awk -F '=' '{print $2}' /etc/ssh/ip.pid)
DATE=$(date +%F)
TEST="/var/log/secure"
Email="/tmp/server.txt"
echo -e "${DATE}\n 非正常时间登陆 ${DIP} 列表\n" > "${Email}"
awk '{split($3,tA,"");TI=tA[1]tA[2];AI=TI+0;if($2=='""$day""' && AI<7 && AI>20 && $6 ~/Accepted/)print $3, $11, $9, "Login '"$DIP"'" }' "${TEST}" >> "${Email}"
echo -e "\n\n" >> "${Email}"
echo -e "${DATE}\n${DIP}\t重要文件被修改记录\n" >> "${Email}"
DIRs=(
/boot
/etc
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
)
for Dir in "${DIRs[@]}"
do
find ${Dir} -type f -mtime -1 -ctime -1 >>$Email
done
#检测输出信息,如没有信息输出,就不发送邮件
TEST_NU=$(grep '[Login|\/]' ${Email}|grep -v 'prelink.cache' |wc -l)
if [ ${TEST_NU} -ne 0 ]
then
curl --data-ascii "ip=${DIP}&message=$(cat "${Email}")&to=1537@qq.com" http://python.test.com/mail/ &>/dev/null
rm -f "${Email}"
fi
EveryDay_Check_System.sh
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- With the development of the time and the society, china’s...
- 这个手册描述了通过互联网的标准协议,并使用foundation库中的一些类来跟服务器交互。同时这些类的集合被叫做“...
- Problem More LeetCode Discussions Singleton is a most wid...
- 开篇语 生活不易,正在打电话(不想挂),没法看视频,所以先写简书吧。好吧,刚写完这句话就被挂了。感觉自从某位神秘存...