vsftp所有动作监控并发邮件通知shell脚本

分类:shell编程 阅读:29946 次

wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

wget http://inotify.aiken.cz/download/incron/incron-0.5.9.tar.bz2

tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make
make install
man inotify 测试是否安装成功

tar xvf incron-0.5.9.tar.bz2
cd incron-0.5.9
make
make install

tar xvf sendEmail-v1.56.tar.gz
mv sendEmail-v1.56 sendEmail

vi /etc/vsftpd/vsftpd.conf

在最后添加:
dual_log_enable=YES
use_localtime=YES
vsftpd_log_file=/var/log/vsftpd.log

在touch /var/log/vsftpd.log

以上操作是为了生成vsftpd的日志文件vsftpd.log

service vsftpd restart ####重启下服务####

vi /home/shell/ftp.sh

#!/bin/bash
/home/shell/sendEmail/sendEmail -f XXX@XXX -t XXX@XXX -s smtp.XXX -u "谁登陆了我的FTP服务器:" -xu user -xp passwd -m time:`tail -1 /var/log/vsftpd.log |awk '{print $1,$2,$3,$4,$5}'`###user and IP:`tail -1 /var/log/vsftpd.log |awk '{print $8,$12}'`###action:`tail -1 /var/log/vsftpd.log |awk '{print $10}'`###,Come in Target: `tail -1 /var/log/vsftpd.log |awk '{print $13,$14}'`


#incrond ###启动监控工具###

#incrontab -e

/var/log/vsftpd.log IN_MODIFY sh /home/shell/ftp.sh

###对于incrond在这里简单讲解下####


incron是inotify的cron系统,与system本身的cron一样,包含一个后台守护进(incrond)和一个事件编辑器(incrontab),与system本身的cron不同的是对文件夹或者文件的操作而不是对时间的操作

#######################################################################

建一个FTP用户

useradd test

paaswd test

测试:使用test登陆:

邮件报警:


当使用teset创建一个文件夹并重命名过程:


邮件报警: