1.连接选项-监听地址与控制端口
listen=YES
#设置为YES时vsftpd以独立运行方式启动,
#设置为NO时以xinetd方式启动(xinetd是管理守护进程的,将服务集中管理,可以减少大量服务的资源消耗)
#listen_ipv6=YES
#开启ipv6监听
#listen_port=21
#设置控制连接的监听端口号,默认为21。独立运行方式生效
#listen_address=
#绑定到指定IP地址运行,对于只有一个IP地址的主机,不需要使用此参数;
#对于多址主机,不设置此参数,则监听所有IP地址。独立运行方式生效
2.连接选项-FTP模式与数据端口
connect_from_port_20=YES
#允许服务器主动模式使用20号端口,也称为PORTFTP,默认值为NO(服务器主动从20号端口与客户端建立数据连接)
#ftp_data_port=20
#设置服务器主动模式的数据传输端口(ftp-data)值,默认值为20,
#如果connect_from_port_20=NO,则可以设置此项来改变服务器主动模式的数据端口号
#port_promiscuous=YES
#为YES时,关闭主动模式端口安全检查(这个检查可以确保出站的数据只流向客户端),默认值为NO
pasv_enable=YES
#允许服务器被动模式,也称为PASVFTP,默认值为NO(服务器打开某个端口让客户端过来连接,适用于客户端在防火墙后的情况)
pasv_min_port=50000
#设置被动模式的服务器最小端口号,默认值为0,任意端口,比较大有助于提高安全性
pasv_max_port=60000
#设置被动模式的服务器最大端口号,默认值为0,任意端口,比较大有助于提高安全性
#pasv_promiscuous=YES
#为YES时,关闭被动模式的安全检查(这个检查可以确保数据连接源于同一IP地址),默认为NO
3.ASCII模式
#ascii_upload_enable=YES
#是否启用ASCII(文本)上传方式,默认不允许
#ascii_download_enable=YES
#是否启用ASCII(文本)下载方式,默认不允许
4.性能与负载控制-超时选项
#idle_session_timeout=600
#用户会话超时时间,超出这个时间没有数据的传送或是指令的输入,则会强迫断线,默认为300秒
#data_connection_timeout=600
#空闲的数据连接的超时时间,默认为300秒
#connect_timeout=120
#当服务器以主动模式进行数据传输时,如果客户机连接服务器超过N秒,则客户端强制断线,默认60
#accept_timeout=120
#当服务器以被动模式进行数据传输时,服务器发出passive port指令等待客户机超过N秒,则客户端强制断线,默认60
5.性能与负载控制-负载控制
#max_clients=50
#在独立启动时限制服务器的并发连接数,当超过此连接数时,
#服务器拒绝客户端连接,默认值为0,表示无限制。独立运行方式生效
#max_per_ip=10
#在独立启动时限制客户机每IP的并发连接数,当超过此连接数时,服务器拒绝客户端连接,
#此选项的设置将影响到像迅雷这类的多线程下载软件,默认值为0,表示无限制。独立##运行方式生效
anon_max_rate=100000
#限制匿名用户的最大传输速率(0为无限制),单位为Bytes/s,此处为100KBytes/s,默认为0,
#local_max_rate=500000
#限制本地用户的最大传输速率(0为无限制),此选项对所有的用户都生效,
#也可以在用户个人配置文件中使用此选项,以指定特定用户可获得的最大数据传输速率,默认为0
6.安全措施-用户登录控制
pam_service_name=vsftpd.vu
#设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名),默认值是vsftpd
userlist_enable=YES
#是否启用user_list用户列表文件,默认值为NO
userlist_deny=YES
#是否禁止user_list列表文件中的用户登录FTP服务器,默认为YES
#当userlist_enable=YES,userlist_deny=YES时,禁止user_list列表文件中的用户登录FTP服务器;
#userlist_enable=YES,userlist_deny=NO时,只允许user_list列表文件中的用户登录FTP服务器
userlist_file=/etc/vsftpd/user_list
#用户列表文件的绝对路径,默认值是/etc/vsftpd.user_list
#tcp_wrappers=NO
#是否允许tcp_wrappers管理,默认值为YES
7.安全措施-目录访问控制
chroot_list_enable=YES
#是否启动锁定在家目录的名单(黑名单),YES为启用,NO禁用,默认值为NO,若要启用则必须chroot_local_user=NO
chroot_list_file=/etc/vsftpd/chroot_list
#锁定在家目录名单(黑名单)的路径,文件格式为一行一用户,此选项默认不设置
#chroot_local_user=YES
#是否将本地用户锁定在家目录,YES为启用,NO禁用,默认值为NO,
#当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,
#chroot_list_file所指定文件中的用户将不被锁定在自家目录
#passwd_chroot_enable=YES
#如果与chroot_local_user一起开启,chroot()容器的位置可以在每个用户的基础上指定。
#每个用户的容器来源于/etc/passwd中每个用户的自家目录字段
8.安全措施-文件操作及权限控制
#hide_ids=YES
#用ftp取代文件属主和属组,可以用来隐藏文件的属主和属组,默认值为NO
#ls_recurse_enable=YES
#若是启动此功能,则允许登入者使用ls -R 等命令,这个选项有一个小的安全风险,
#因为在一个大型FTP站点的根目录下使用"ls-R"会消耗大量系统资源,默认值为NO
write_enable=YES
#启用任何形式的写入权限(如上传、删除文件等)都需要开启此项,默认值为NO
#download_enable=NO
#是否允许下载文件(建立仅限于上传的FTP服务器时可将其设为NO),默认值为YES
#secure_chroot_dir=
#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,
#当vsftpd 不需要file system的权限时,就会将使用者限制在此数据夹中,默认目录为/usr/share/empty
anon_umask=022
#设置匿名用户所上传文件的权限掩码,默认为077,为022时新建目录权限是777-022=755,文件权限是666-022=644
local_umask=022
#本地用户所上传文件的权限掩码,默认为077,为022时新建目录权限是777-022=755,文件权限是666-022=644
#file_open_mode=0777
#上传文件的权限,与chmod 所使用的数值相同,如果希望上传的文件可以执行,设此值为0777,默认值0666
9.提示信息
ftpd_banner=Welcome to blah FTP service.
#设置用户连接服务器后的欢迎信息,默认值为无
#banner_file=/etc/vsftpd/banner_file
#设置用户连接服务器后的欢迎信息存放在指定的filename文件中,默认值为无,
#与ftpd_banner相比,banner_file是文本文件的形式,而ftpd_banner是字符串格式
#dirmessage_enable=NO
#设置使用者进入某个目录时是否显示由message_file指定的文件内容,
#默认为YES,通常这个档案会放置欢迎话语,或是对该目录的说明
#message_file=.message
#设置使用者进入某个目录时显示的文件内容,默认为.message
10.日志设置
xferlog_enable=YES
#是否启用xferlog日志,用于详细记录上传和下载,默认值为NO,但简单配置文件中激活此选项
#xferlog_file=/var/log/xferlog
#xferlog日志文件路径,默认值为/var/log/vsftpd.log
#xferlog_std_format=YES
#启用标准的xferlog日志格式,默认的日志格式更为可读性。
#默认值为NO,但自带的配置文件中激活了此选项
#log_ftp_protocol=YES
#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,默认值为NO
11.用户选项-匿名用户
#anonymous_enable=NO
#是否允许匿名用户登录,YES允许,NO不允许,默认值为YES
#ftp_username=
#匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp
#no_anon_password=YES
#匿名用户登陆是否询问密码,YES不需要,NO需要,默认值为NO
#deny_email_enable=YES
#拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户,
#这对于阻击某些Dos攻击有效
#banned_email_file=/etc/vsftpd/banned_emails
#指定包含被拒绝的e-mail地址的文件,默认文件为/etc/vsftpd.banned_emails
anon_root=/var/ftp/
#设置匿名用户的根目录,默认为/var/ftp/
#anon_world_readable_only=NO
#控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。
#NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES
anon_upload_enable=YES
#是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO
anon_mkdir_write_enable=YES
#是否允许匿名用户有创建目录的写入权限,YES允许,NO不允许,默认是不设值,即为NO
anon_other_write_enable=YES
#是否允许匿名用户有其他写入权限。如对文件改名、覆盖及删除文件,
#YES允许,NO不允许,默认是不设值,即为NO
#chown_uploads=YES
#是否修改匿名用户上传文件的拥有者,默认值为NO
#chown_username=root
#修改匿名用户上传文件的拥有者,不推荐使用root用户
12.用户选项-本地用户
local_enable=YES
#本地系统用户是否可以登录vsftpd,默认值为YES
#local_root=/var/ftp/
#设置本地用户的根目录,默认值为无,默认将位于自己的宿主目录,该选项适用于FTP根目录需要保持固定的情况
user_config_dir=/etc/vsftpd/loginuser.dir
#定义用户个人配置文件所在的目录,用户的个人配置文件为该目录下的同名文件,
#个人配置文件的格式与vsftpd.conf格式相同,默认值为无
13.用户选项-虚拟用户
guest_enable=YES
#设置是否支持虚拟用户帐号访问,若是启动这项功能,所有的非匿名登入者都视为guest。默认值为NO
guest_username=virtual
#定义guest用户在系统中的用户名,默认值为ftp
14.其他
#nopriv_user=
#服务器运行于最底层时使用的用户名,默认值为nobody
#async_abor_enable=YES
#是否允许客户端使用sync等命令,默认为NO
15.虚拟用户独立配置文件模板-虚拟用户默认作为匿名用户处理以降低权限,因此对应的权限设置通常使用anon_开头的配置项
#local_root=/home/ftp/wushuaishuai
#设置虚拟用户的根目录,这个设置比较特殊,不设置为anon_root
#anon_world_readable_only=NO
#控制是否只允许虚拟用户下载可阅读文档。YES,只允许虚拟用户下载可阅读的文件。
#NO,允许虚拟用户浏览整个服务器的文件系统。默认值为YES
#anon_upload_enable=YES
#是否允许虚拟用户上传文件,YES允许,NO不允许,默认是不设值,即为NO
#anon_mkdir_write_enable=YES
#是否允许虚拟用户有创建目录的写入权限,YES允许,NO不允许,默认是不设值,即为NO
#anon_other_write_enable=YES
#是否允许虚拟用户有其他写入权限。如对文件改名、覆盖及删除文件,
#YES允许,NO不允许,默认是不设值,即为NO
#anon_max_rate=500000
#限制虚拟用户的最大传输速率(0为无限制),单位为Bytes/s,此处为500KBytes/s,默认为0
#anon_umask=022
#设置虚拟用户所上传文件的权限掩码,默认为077,为022时新建目录权限是777-022=755,文件权限是666-022=644