在web服务器上搭建了vsftpd用来上传代码程序,开启日志记录客户端的上传、下载删除等操作;

#修改/etc/vsftpd/vsftpd.conf
[root@node1 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
anon_root=/ftpanon
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
dual_log_enable=yes  #↙
#启用/var/log/vsftpd.log和/var/log/xferlog双份日志,
#xferlog是wu-ftpd类型的传输日志,而vsftpd.log是vsftpd自己类型的日志;
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=yes #↙
#默认时间为GST与本地时间存在时差记录日志时可能不方便区分时间,开启该选项使用本地时间,
chroot_local_user=yes

进行连接、上传、下载、删除测试:

#连接
[root@node1 ~]# cat /var/log/vsftpd.log
Thu Jun 26 10:40:10 2014 [pid 2011] CONNECT: Client "192.168.1.60"
Thu Jun 26 10:40:10 2014 [pid 2010] [www] OK LOGIN: Client "192.168.1.60"

#上传test.txt文件
[root@node1 ~]# tail -f /var/log/vsftpd.log
Thu Jun 26 10:41:39 2014 [pid 2012] [www] OK UPLOAD: Client "192.168.1.60", "/test.txt", 12 bytes, 0.84Kbyte/sec

#下载test.txt文件
[root@node1 ~]# tail -f /var/log/vsftpd.log
Thu Jun 26 10:43:15 2014 [pid 2012] [www] OK DOWNLOAD: Client "192.168.1.60", "/test.txt", 12 bytes, 13.23Kbyte/sec


#删除test.txt文件
[root@node1 ~]# tail -f /var/log/vsftpd.log
Thu Jun 26 10:43:56 2014 [pid 2012] [www] OK DELETE: Client "192.168.1.60", "/test.txt"

 

查看xferlog日志:

[root@node1 ~]# cat /var/log/xferlog
Thu Jun 26 10:41:39 2014 1 192.168.1.60 12 /test.txt a _ i r www ftp 0 * c
Thu Jun 26 10:43:15 2014 1 192.168.1.60 12 /test.txt a _ o r www ftp 0 * c

分析xferlog日志:

Thu Jun 26 10:43:15 2014 :时间

1:传输文件所用时间

192.168.1.60:客户端ip

12:文件大小,单位为byte

/test.txt:文件名,传输到的路径

a:文件传输类型:a为ASCII传输,b为二进制传输

i:传输方向:i为从客户端到服务器(上传); o为从服务器到客户端(下载)

r:访问用户类型:a为匿名用户;g来宾用户;r真实本地用户;

www:用户名

ftp:服务名

0:认证方式:0为无; 1为RFC931认证

*:认证用户的id; *为未获取到

c:传输状态; c表示传输完成