FTP服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现。主配置文件中与日志设置有关的选项包括xferlog_enable 、xferlog_file 和dual_log_enable 等。
xferlog_enable
如果启用该选项,系统将会维护记录服务器上传和下载情况的日志文件。默认情况下,该日志文件为 /var/log/vsftpd.log。但也可以通过配置文件中的 vsftpd_log_file 选项来指定其他文件。默认值为NO。
xferlog_std_format
如果启用该选项,传输日志文件将以标准 xferlog 的格式书写,该格式的日志文件默认为 /var/log/xferlog,也可以通过 xferlog_file 选项对其进行设定。默认值为NO。
dual_log_enable
如果启用该选项,将生成两个相似的日志文件,默认在 /var/log/xferlog 和 /var/log/vsftpd.log 目录下。前者是 wu-ftpd 类型的传输日志,可以利用标准日志工具对其进行分析;后者是Vsftpd类型的日志。
syslog_enable
如果启用该选项,则原本应该输出到/var/log/vsftpd.log中的日志,将输出到系统日志中。
常见的日志解决方案如下:
- xferlog_enable=YES
- xferlog_std_format=YES
- xferlog_file=/var/log/xferlog
- dual_log_enable=YES
- vsftpd_log_file=/var/log/vsftpd.log
该方案将xferlog_enable设置为YES,表明FTP服务器记录上传下载的情况,而将xferlog_std_format也设置为YES,则表明将记录的上传下载情况写在xferlog_file所指定的文件中,即/var/log/xferlog文件。
同时,该方案启用dual_log_enable,表明启用了双份日志。在用xferlog文件记录服务器上传下载情况的同时,vsftpd_log_file所指定的文件,即/var/log/vsftpd.log,也将用来记录服务器的传输情况。
下面分别查看xferlog文件和vsftpd.log文件的内容。
xferlog内容如下:
- Thu Sep 6 09:07:48 2007 7 192.168.57.1
4323279 /home/student/phpMyAdmin -2.11.
0-all-languages.tar.gz b _ i r student ftp 0 * c- Thu Sep 6 10:15:59 2007 1 192.168.57.1
61810 /home/student/php-pdo-5.1.6-5. el5.
i386.rpm b _ i r student ftp 0 * c- Thu Sep 6 10:17:13 2007 1 192.168.57.1
83741 /home/student/php-mysql-5.1. 6-5.el5.i386.
rpm b _ i r student ftp 0 * c- Tue Sep 11 07:49:34 2007 1 127.0.0.1 0 /
pub/hello.txt b _ o a bit@bit.edu.cn ftp 0 * i- Tue Sep 11 07:51:22 2007 1 127.0.0.1 34 /
pub/hello.txt b _ o a bit@bit.edu.cn ftp 0 * c- Tue Sep 11 11:23:05 2007 1 192.168.57.1
83741 /php-mysql-5.1.6-5.el5.i386.rpm a _ o r student ftp 0 * c- Tue Sep 11 11:31:36 2007 1 192.168.57.1
12 /eng000.txt a _ i r student ftp 0 * c- Tue Sep 11 11:53:05 2007 1 192.168.57.2
367 /user_list b _ i r student ftp 0 * c- Tue Sep 11 11:56:06 2007 1 192.168.57.2
0 / b _o a mozilla@example.com ftp 0 * i- Tue Sep 11 11:57:36 2007 1 192.168.57.2
0 / b _ o r student ftp 0 * i
vsftpd.log文件内容如下:
- Tue Sep 11 14:59:03 2007 [pid 3460] CONNECT: Client "127.0.0.1"
- Tue Sep 11 14:59:24 2007 [pid 3459] [ftp]
OK LOGIN: Client "127.0.0.1", anon password "?"
在xferlog文件的第一条记录中,各数据的参数名如表11.3所示。
表11.3  xferlog文件数据的参数名
| 记录数据 | 参数名称 | 
| Thu Sep  6 09:07:48 2007 | 当前时间 | 
| 7 | 传输时间 | 
| 192.168.57.1 | 远程主机名称/IP  | 
| 4323279 | 文件大小 | 
| /home/student/phpMyAdmin- 2.11.0-all-languages.tar.gz | 文件名  | 
| b | 传输类型 | 
| _ | 特殊处理标志 | 
| i | 传输方向 | 
| r | 访问模式 | 
| student | 用户名  | 
| ftp | 服务名  | 
| 0 | 认证方式 | 
| * | 认证用户id  | 
| c | 完成状态 | 
表11.4描述了各参数的具体含义。
表11.4  xferlog 参数说明
| 参 数 名 | 说    明 | 
| 当前时间 | 当前服务器本地时间,格式为 “DDD MMM dd hh: mm: ss YYYY” | 
| 传输时间 | 传送文件所用时间,单位为秒 | 
| 远程主机 | 远程主机名称/IP | 
| 文件大小 | 传送文件的大小,单位为byte  | 
| 文件名 | 传输文件名,包括路径 | 
| 传输类型 | 传输方式的类型,包括两种: a 以ASCII传输  b 以二进制文件传输 | 
| 特殊处理标志 | 特殊处理的标志位,可能的值包括: _ 不做任何特殊处理 C 文件是压缩格式  U 文件是非压缩格式 T 文件是tar格式 | 
| 传输方向 | 文件传输的方向,包括两种: o 从FTP服务器向客户端传输 i 从客户端向FTP服务器传输 | 
| 访问模式 | 用户访问模式,包括: a 匿名用户  g 来宾用户 r 真实用户,即系统中的用户 | 
| 用户名 | 用户名称 | 
| 服务名 | 所使用的服务名称,一般为FTP | 
| 认证方式 | 认证方式,包括: 0 无 1 RFC931认证 | 
| 认证用户id | 认证用户的id,如果使用*, 则表示无法获得该id | 
| 完成状态 | 传输的状态: c 表示传输已完成 i 表示传输未完成 | 
- 上一篇:FTP 7用户隔离介绍
- 下一篇:windows FTP日志文件分析



