分类: LINUX
2008-05-12 00:57:18
Vsftpd.conf -- vsftpd的配置文件
Vsftpd.conf用于控制vsftpd守护程序的各项功能。默认状态下,vsftpd的配置文件是/etc/vsftpd.conf。但是它可以通过传递一个命令行参数给vsftpd来修改,这个命令行参数就是vsftpd配置文件的路径。这个功能很有用,因为你可能希望使用高级inetd例如xinetd来启动vsftpd,并且每个虚拟主机具有不同的配置文件。
Vsftpd.conf的格式非常简单。每一行或者是注释或者是命令。注释行以#开头并且被忽视。一个命令行具有如下的格式:
option=value
特别要注意的是“option”,“=”以及“value”之间不允许出现任何空格。
每项设置都有一个默认值,可以通过配置文件进行修改。
以下是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将在后台运行监听进程。也就是说控制端立即返回到启动vsftpd的shell。
默认: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选项来修改它。
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安全检查,就要设置此选项为YES。PASV安全检查能确保来源于同一个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获得更多的机会以更少的进程或者更少的权限来运行。注意:utmp和wtmp支持只有当PAM激活了编译才有效。
默认:NO
setproctitle_enable
如果被激活,vsftpd将会在系统进程表中显示会话状态信息。也就是说,报告的进程名将被改为显示一个vsftpd会话正在进行什么操作(空闲,下载等)。出于安全目的,你最好关闭此选项。
如果被激活并且vsftpd编译时选择了OpenSSL,vsftpd将通过SSL来支持安全连接。这个选项应用于控制连接以及数据连接。你还需要一个支持SSL的客户端。注意!只有你需要时才激活它。Vsftpd对于OpenSSL库的安全性不做任何保证。激活了此选项就表明你相信所安装的OpenSSL库的安全性。
默认:NO
ssl_sslv2
只有当ssl_enable选项被激活后才能启用此选项。如果被激活,将允许SSL v2协议连接。优先选择TLS v1连接。
默认:NO
ssl_sslv3
只有当ssl_enable选项被激活后才能启用。如果被激活,将允许SSL v3协议连接。优先选择TLS v1连接。
默认:NO
ssl_tlsv1
只有当ssl_enable选项被激活后才能启用。如果被激活,将允许TLS v1协议连接。优先选择TLS v1连接。
默认:YES
如果被激活,原来输出到/var/log/vsftpd.log文件中的日志将被输出到系统日志中去。由FTPD完成日志的纪录。
默认:NO
tcp_wrappers
如果被激活,并且vsftpd编译的时候选择了支持tcp_wrapper,则连接请求将通过tcp_wrappers访问控制所反馈。而且,基于每个IP的配置有这样的机制,即如果tcp_wrappers设置了VSFTPD_LOAD_CONF环境变量,那么vsftpd会话将试图从这个环境变量指定的文件中加载配置。
默认:NO
text_userdb_names
默认情况下,在目录表中用户和组ID是用数字表示的。激活此选项可以用文字来表示。出于性能的原因,这个选项通常是关闭的。
默认:NO
tilde_user_enable
如果被激活,vsftpd将解析诸如~chris/pics的路径名,也就是说一个tilde后面跟一个用户名。
默认:NO
use_localtime
如果被激活,vsftpd在目录表中显示的是你本地时区的时间。默认显示的是GMT时间。MDTM FTP命令返回的时间也是受此选项控制的。
默认:NO
use_sendfile
这是一个内部设置,用于测试在你的平台上使用send-file()系统调用所带来的相关好处。
默认:YES
user_listdeny
当userlist_enable被激活后,这个选项将被检查。如果设置成了NO,则没有在userlist_file指定的文件中显式列出的用户名将被拒绝登录,并且是在要求用户输入密码之前被拒绝的。
默认:YES
userlist_enable
如果被使能,vsftpd将会从由userlist_file指定的文件中加载用户名列表。如果用户试图以文件中的用户名登录,在被要求输入密码之前就会被系统拒绝。这在防止明文传送密码时有用。另见userlist_deny。
默认:NO
virtual_use_local_privs
如果被激活,虚拟用户将使用与本地用户一样的权限。默认情况下,虚拟用户将使用与匿名用户同样的权限,其限制要严格一点。
默认:NO
write_enable
这个选项控制是否允许改变文件系统的FTP命令,如STOR,DELE,RNFR,RNTO,MKD,RMD,APPE以及SITE等。
默认:NO
xferlog_enable
如果被激活,一个日志文件将详细记录上传和下载的情况。默认情况下,这个文件是/var/log/vsftpd.log,但是可以使用vsftpd_log_file设置来修改。
默认:NO
xferlog_std_format
如果被激活,日志文件将以标准的xferlog格式来记录,在wu-ftpd中也使用这种格式。这个选项可以有助于使用传送统计分析工具。默认的格式更易读,但是,这种格式的日志文件默认存放在/var/log/xferlog,但是你可以通过xferlog_file设置来修改。
默认:NO
以下是数字选项列表。一个数字选项必须是设置成非负整数。支持八进制以便输入屏蔽位选项。输入八进制值的时候,必须以数字0开始。
accept_timeout
客户端采用PASV方式连接时的超时时间,以秒为单位。
默认:60
anon_max_rate
匿名用户的最大传输速度,以字节/秒为单位。
默认:0(无限制)
anon_umask
匿名用户创建文件的权限位。注意!如果采用八进制数值设置,记住以“0”开始,否则数值会被作为十进制来处理。
默认:077
connect_timeout
远程客户端响应PORT类型的数据连接时的超时时间,以秒为单位。
默认:60
data_connection_timeout
这是我们允许数据连接处于没有任何活动状态的最大超时数,以秒为单位。如果超时时间到,则远程客户端被断开。
默认:300
delay_failed_logins
在报告连接失败前停留的秒数。
默认:1
delay_successful_logins
在允许一个成功连接前停留的秒数。
默认:0
file_open_mode
上传文件创建时的权限。你如果想把上传文件设置成可执行,则就要将此值修改成0777。
默认:0666
ftp_data_port
PORT类型数据连接的发起端口号。
默认:20
idle_seesion_timeout
在两个FTP命令之间,远程客户端需要花费的最大时间,以秒为单位。如果超时了,则远程客户端被断开。
默认:300
listen_port
如果vsftpd运行于独立模式,这个选项指定监听FTP连接的端口。
默认:21
local_max_rate
本地授权用户最大允许的数据传输速率,以字节/秒为单位。
默认:0(无限制)
local_umask
本地用户创建文件的权限设置。注意!如果你以八进制数值指定,则要数字“0”开始,否则以十进制数值处理。
默认:077
max_clients
如果vsftpd运行于独立模式,则此选项设置连接的最大用户数。超过此数值的连接将返回一个错误信息。