作者:彭席汉     http://blog.chinaunix.net/u1/33677

名称
Vsftpd.conf -- vsftpd的配置文件
描述
Vsftpd.conf用于控制vsftpd守护程序的各项功能。默认状态下,vsftpd的配置文件是/etc/vsftpd.conf。但是它可以通过传递一个命令行参数给vsftpd来修改,这个命令行参数就是vsftpd配置文件的路径。这个功能很有用,因为你可能希望使用高级inetd例如xinetd来启动vsftpd,并且每个虚拟主机具有不同的配置文件。
格式
Vsftpd.conf的格式非常简单。每一行或者是注释或者是命令。注释行以#开头并且被忽视。一个命令行具有如下的格式:
option=value
特别要注意的是“option”,“=”以及“value”之间不允许出现任何空格。
每项设置都有一个默认值,可以通过配置文件进行修改。
BOOLEAN选项
以下是boolean选项的一个清单。Boolean选项的值可以被设置为YES或者NO
allow_anon_ssl
只有当ssl_enable选项激活才能启动此选项。如果被设置成YES,匿名用户将被允许
使用安全SSL连接。
默认:NO
anon_mkdir_write_enable
如果被设置成YES,匿名用户在特定的条件下允许创建新的目录。要使此选项有效,选项write_enable必须被激活,并且匿名ftp用户在父目录下必须有写的权限。
默认:NO
anon_upload_enable
如果被设置成YES,匿名用户在特定的条件下被允许上传文件。要使此选项生效,write_enable选项必须被激活,并且匿名ftp用户在上传目录下必须具有写的权限。对于要上传的虚拟用户来说这个设置也是必须的;默认状态下,虚拟用户赋以匿名用户的优先级。
默认:NO
anon_world_readable_only
当此选项被激活,匿名用户只允许下载全局可读的文件。这就意味着ftp用户拥有自己的文件,尤其是在上传的场合下。
默认:YES
anonymous_enable
控制是否允许匿名用户登录。如果被激活,“ftp”和“anonymous”都被视为匿名登录。
默认:YES
ascii_download_enable
当被激活,下载时将以ASCII模式的数据传输。
默认:NO
ascii_upload_enable
当被激活,上传时将以ASCII模式的数据传输。
默认:NO
async_abor_enable
当被激活,一个名为“async ABOR”的特殊命令将被激活。只有当不正常的客户端才会使用这个功能。还有就是这个功能非常不好用,所以默认状态下它是被禁止掉的。不幸的是,如果没有这个功能,一些FTP客户端在取消传输时会挂掉,因此你可能想激活它。
默认:NO
background
当被激活,并且vsftpd以“监听”的模式启动,vsftpd将在后台运行监听进程。也就是说控制端立即返回到启动vsftpdshell
默认:NO
check_shell
注意!此选项只对non-PAM编译的vsftpd有效。如果此选项被禁止,对于本地用户登录,vsftpd将不会去检查/etc/shells以判断它是否有一个合法的用户shell
默认:YES
chmod_enable
当被激活,就可以使用SITE CHMOD命令。注意!此选项仅应用于本地用户。匿名用户不允许使用SITE CHMOD命令。
默认:YES
chown_uploads
如果激活,所有的匿名用户上传的文件的所有者将会被改变为由chown_username选项确定的用户。从管理员也许还有安全的角度看,这个选项是有用的。
默认:NO
chroot_list_enable
如果被激活,你要提供一份本地用户的清单,他们被锁定在虚根(进入FTP后,PWD一下,看到的当前目录就是虚根。是FTP的根目录,并非FTP服务器系统的根目录)。如果chroot_local_user选项被设置成YES,该选项的含义稍微有点不同。在这种情况下,用户清单列出的是不被锁定在虚根下的用户。默认状态下,包含这张清单的文件是/etc/vsftpd.chroot_list,但是你可以通过chroot_list_file选项来修改它。
默认:NO
chroot_local_user
如果被设置成YES,本地用户在登录后将被锁定在虚根的home目录下。警告:此选项有安全的预示,尤其是当用户具有上传和shell访问的权限。只有当你了解你正在做什么的情况下,激活此选项。要指出的是这些安全预示不是vsftpd所特有的,它们应用于所有的把本地用户锁定虚根下的FTP daemon中。
默认:NO
connect_from_port
此选项控制PORT类型的数据连接是否使用服务器上的20号端口(ftp-data)。由于安全性的原因,一些客户坚持使用这个端口。相反,禁止这个选项将使vsftpd运行起来烧了一点特殊性。
默认:NO
deny_email_enable
如果激活,你要提供匿名用户的密码e-mail表以拒绝以这些密码登录的用户。默认状态下,包含这张表的文件是/etc/vsftpd.banned_emails,但是你可以通过设置banned_email_file来修改它。
默认:NO
dirlist_enable
如果设置成NO,所有的列表命令将被拒绝。
Default:YES
dirmessage_enable
如果被激活,当FTP服务器的用户第一次进入一个新目录后将显示信息。默认状态下,会在这个目录下查找.message文件,但是也可以通过设置message_file选项来修改它。
默认:NO
 
download_enable
如果设置成NO,所有的下载请求将被拒绝。
默认:YES
dual_log_enable
如果被激活,可以同时产生两个日志文件,默认是/var/log/xferlog/var/log/vsftpd.log。前者是wu-ftpd各式的日志,可以被标准的工具解析。后者是vsftpd专用格式日志。
默认:NO
force_dot_files
如果被激活,即使“a”标志没有被客户使用也会显示以“.”开头的文件和目录。但是不会显示“.”和“..”。
默认:NO
force_anon_data_ssl
只有当激活ssl_enable选项后才能启用。如果被激活,所有的匿名登录必须使用一个安全的SSL连接来发送和接受数据。
默认:NO
force_anon_logins_ssl
只有当ssl_enable选项被激活后才能应用此选项。如果被激活,所有的匿名登录在发送密码时必须使用安全SSL连接。
默认:YES
force_local_data_ssl
只有当ssl_enable选项被激活后才能应用此选项。如果被激活,所有的非匿名登录必须使用一个安全的SSL连接来发送和接受数据。
默认:YES
force_local_login_ssl
只有当ssl_enable选项被激活后才能应用此选项。如果被激活,所有非匿名登录在发送密码的时候必须使用安全SSL连接。
默认:NO
guest_enable
如果被激活,所有的非匿名登录被视为“guest”登录。这个guest登录将被映射为guest_username设置里指定的用户。
默认:NO
hide_ids
如果被激活,在目录列表里的用户和组信息将被显示为“ftp”。
默认:NO
listen
如果被激活,vsftpd将运行在独立(standalone)模式下。这就意味着vsftpd不可以从inetd之类的服务中启动。相反,vsftpd直接执行一次后,它自己将会负责监听和处理连接请求。
默认:NO
listen_ipv6
类似于listen参数,只不过vsftpd将监听IPv6的套接字而不是IPv4的。这个参数与listen参数是互斥的。
默认:NO
local_enable
这个参数控制是否允许本地用户登录。如果被激活,在/etc/passwd里的普通用户帐号被用来登录。要使非匿名登录包括虚拟用户登录生效必须激活此选项。
默认:NO
lock_upload_files
当被激活,所有的上传文件都会具有一个写锁。所有的下载文件都会具有一个共享的读锁。警告!在激活此选项之前,要注意的是恶意的读用户会让对文件进行添加的写用户处于饥饿状态。
默认:NO
log_ftp_protocol
当被激活,所有的FTP请求和响应在xferlog_std_format没有被激活的情况下将被记录,这些信息对于调试有用。
默认:NO
ls_recurse_enable
当被激活,这个设置允许使用“ls -R”命令。这有点安全风险,因为在一个大的站点的顶层目录下使用“ls -R”命令将使用大量的资源。
默认:NO
mdtm_write
当被激活,将允许MDTM去设置文件的修改次数(要受到通常的访问检查限制)。
默认:YES
no_anon_password
当被激活,vsftpd将不要求匿名用户输入密码—匿名用户将直接登录。
默认:NO
no_log_lock
当被激活,在写log文件时将阻止vsftpd把文件锁住。此选项通常情况下不被激活。它存在于工作区操作系统中,例如Solaris/Veritas混合文件系统,在这种情况下当试图锁住日志文件时有时会出现挂起的现象。
默认:NO
one_process_model
如果你用的是Linux 2.4内核,可能就会用不同安全模式,即一个连接对应一个进程。它是一个不太严格的安全模型,但是会提高性能。如果你清楚自己做什么,并且你的站点支持大量的同时访问,在这种情况下,你可能想激活此选项。
默认:NO
passwd_chroot_enable
如果连同chroot_local_user一起被激活,那么虚根用户的位置根据不同的用户而确定。每个用户虚根位置是从/etc/passwd中的父目录字符串中获取的。
默认:NO
pasv_addr_resolve
如果你想在pasv_address选项中使用主机名,就要激活它。
默认:NO
pasv_enable
如果你要禁止PASV这种获取数据连接的方法,要将此选项关掉。
默认:
pasv_promiscuous
如果你想关掉PASV安全检查,就要设置此选项为YESPASV安全检查能确保来源于同一个IP地址的数据连接作为控制连接。只有当你清楚你在作什么的时候才能激活这个选项!仅在一些形式的安全隧道机制中使用,或者是为了更好的支持FXP
默认:NO
port_enable
如果你想禁止通过PORT的方法获得数据连接,将此选项设置成NO
默认:YES
port_promiscous
如果你想禁止PORT安全检查,就要设置此选项为YES。这个PORT安全检查确保对外出去的数据连接只能用于客户端。只有当你清楚自己在作什么的时候才能激活此选项。
默认:NO
run_as_launching_user
如果你想以启动vsftpd的用户来运行vsftpd就要设置此选项为YES。这在不能以root用户访问系统时非常有用。强烈警告!除非你非常清楚你正在做什么,否则不要激活此选项,因为对这个选项的草率使用会导致严重的安全问题。特别是,当设置了这个选项后,vsftpd没有也不能使用虚根技术来限制文件访问。可以用deny_file选项来替代,但是效果不好,可靠性不能与虚根技术相比,而且不可靠。如果使用了此选项,其他选项的应用就会产生很多限制。例如,需要优先权的选项如非匿名登录,改变上传文件拥有者,连接20端口以及从小于1024号的端口监听都不会工作。其他选项也会受到影响。
默认:NO
secure_email_list_enable
当匿名登录时,如果你想只允许以设定的e-mail密码表中的密码登录,就要将此选项设置成YES。当对低安全级别的内容进行访问限制,这个选项是一个非常有用的低安全限制方法。而且不需要使用虚拟用户。当此选项被激活后,匿名用户如果不在email_password_file设定的文件中将北拒绝登录。这个密码文件的格式是一行一个密码,没有多余的空格。默认的文件名是/etc/vsftpd.email_passwords
默认:NO
session_support
这个选项控制vsftpd是否对登录维护会话。如果vsftpd正在维护会话,它将试图更新utmp以及wtmp。另外,如果使用PAM来鉴别时,此选项会打开一个pam_session,并且直到签出时才关闭。如果不需要会话日志,你可能会关闭此选项,并且你希望让vsftpd获得更多的机会以更少的进程或者更少的权限来运行。注意:utmpwtmp支持只有当PAM激活了编译才有效。
默认:NO
setproctitle_enable
如果被激活,vsftpd将会在系统进程表中显示会话状态信息。也就是说,报告的进程名将被改为显示一个vsftpd会话正在进行什么操作(空闲,下载等)。出于安全目的,你最好关闭此选项。
默认:NO