linux shell ftp 错误提示,利用shell脚本自动拒绝试图登录FTP

#cat vsftpd.sh

#!/bin/bash

CONF=/etc/vsftpd/vsftpd.conf

DIR=/var/log/vsftpd

mkdir $DIR 2>/dev/null

VLOG=$DIR/vsftpd.log

touch $DIR/vsftpd.log

USEVLOG=$DIR/use_vsftp.log

FAILIP=$DIR/vsftpd_failipnetstat -antlp |grep vsftpd |awk '{print $4}' |awk -F0. '{print $5}'

DENYIP=$DIR/deny_ip

PORT=`netstat -antlp |grep vsftpd |awk '{print $4}' |awk -F0. '{print $5}'`

BACKDENYIP=$DIR/back_deny_ip

LOGBACK=$DIR/logback

LN1=`wc -l $BACKDENYIP |awk '{print $1}'`

LOGCOMM="(dual_log_enable=YES|vsftpd_log_file=/var/log/vsftpd.log)"

time=`date +"%Y-%m-%d %H-%M-%S"`

egrep $LOGCOMM /etc/vsftpd/vsftpd.conf >/dev/null

if [ $? -gt 0 ] ; then

echo "dual_log_enable=YES" >> $CONF

echo "vsftpd_log_file=/var/log/vsftpd.log" >> $CONF

service vsftpd reload >/dev/null

else

echo "conf ok " >/dev/null

fi

cat $VLOG >> $LOGBACK

cat $VLOG > $USEVLOG

cat $USEVLOG |grep FAIL |awk '{print $12}' |awk -F'"' '{print $2}' > $FAILIP

cat $FAILIP | uniq -c | awk '$1 > 10 {print $1"  "$2}' > $DENYIP; cat $DENYIP >> $BACKDENYIP

for ip in `awk '{print $2}' $DENYIP`

do

iptables -I INPUT -s $ip -p tcp --dport $PORT -j REJECT

done

LN2=`wc -l $BACKDENYIP |awk '{print $1}'`

VALUE=`echo $LN2-$LN1 | bc`

if [ $VALUE -gt 0 ] ; then

sendmail -t <

from: monitor@zhaoyun.com

to:15101507336@139.com

subject: warning

$time 有人正在试图登录您的FTP服务器,系统已经帮你拦截,详情请登录服务器进行查看。

EOF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值