# 侦听IPv4
listen=YES
# 侦听IPv6
# listen_ipv6=YES
# 控制是否允许匿名登录。如果启用,用户名 ftp 和 anonymous 都会被识别为匿名登录。
anonymous_enable=NO
# 控制是否允许本地登录。如果启用,可以使用/etc/passwd(或您的PAM配置引用的任何地方)中的普通用户帐户登录。任何非匿名登录(包括虚拟用户)都必须启用此功能。
local_enable=YES
# 控制是否允许任何改变文件系统的FTP命令。这些命令是:store、DELE、RNFR、RNTO、MKD、RMD、app和SITE。
# 允许本地用户上传文件到 FTP 服务器
write_enable=YES
# 本地用户创建文件时设置的 umask 值。注意!如果您想指定八进制值,请记住“0”前缀,否则该值将被视为以10为基数的整数!
#local_umask=022
# 如果设置为YES,则在某些条件下允许匿名用户上传文件。为此,必须激活write_enable选项,并且匿名ftp用户必须对所需的上传位置具有写权限。
# 虚拟用户上传时也需要此设置; 默认情况下,虚拟用户具有匿名(即最大限制)权限。
#anon_upload_enable=YES
# 如果设置为YES,则允许匿名用户在某些条件下创建新目录。为此,必须激活 write_enable 选项,并且匿名ftp用户必须对父目录具有写权限。
#anon_mkdir_write_enable=YES
# 如果启用,FTP服务器的用户在第一次进入新目录时可以显示消息。默认情况下,将扫描一个目录以查找.message文件,但可以使用配置设置message_file覆盖该目录。
dirmessage_enable=YES
# 如果启用,vsftpd将显示目录清单,并显示您当地时区的时间。默认是显示GMT。MDTM FTP命令返回的时间也受此选项的影响。
use_localtime=YES
# 如果启用,将维护一个详细描述上传和下载的日志文件。默认情况下,该文件将放置在/var/log/vsftpd.log中,但是可以使用配置设置vsftpd_log_file覆盖该位置。
xferlog_enable=YES
# 它控制PORT风格的数据连接是否使用服务器机器上的端口20 (ftp-data)。出于安全考虑,一些客户可能会坚持认为情况就是这样。相反,禁用此选项可以使vsftpd以更少的特权运行。
connect_from_port_20=YES
# 如果启用,所有匿名上传的文件的所有权将更改为在设置 chown_username 中指定的用户。从管理和安全的角度来看,这很有用。
#chown_uploads=YES
# 这是被赋予匿名上传文件所有权的用户的名称。这个选项只有在设置了另一个选项 chown_uploads 时才有意义。
#chown_username=whoever
# 这个选项是我们写入wu-ftpd风格传输日志的文件的名称。只有在设置了xferlog_enable选项和xferlog_std_format选项后,才会写入传输日志。或者,如果您设置了选项dual_log_enable,则写入该命令。
#xferlog_file=/var/log/vsftpd.log
# 如果启用,传输日志文件将以标准 xferlog 格式写入,如 wu-ftpd 所使用的格式。这很有用,因为您可以重用现有的传输统计信息生成器。
# 不过,默认格式可读性更强。这种类型的日志文件的默认位置是 /var/log/xferlog,但是您可以通过设置 xferlog_file 来更改它。
#xferlog_std_format=YES
# 超时时间,以秒为单位,这是远程客户端在FTP命令之间可能花费的最大时间。如果超时触发,则远程客户端被踢开。
#idle_session_timeout=600
# 超时(以秒为单位)大致是我们允许数据传输在没有进展的情况下停止的最大时间。如果超时触发,则远程客户端被踢开。
#data_connection_timeout=120
# 这是vsftpd想要完全无特权时使用的用户名。注意,这应该是一个专门的用户,而不是 nobody。在大多数机器上,用户 nobody 往往被用来做很多重要的事情。
#nopriv_user=ftpsecure
# 启用后,将启用一个称为 "async ABOR” 的特殊FTP命令。只有不明智的FTP客户端才会使用该特性。
# 此外,这个特性很难处理,所以默认情况下是禁用的。不幸的是,某些FTP客户端在取消传输时将挂起,除非该特性可用,因此您可能希望启用它。
#async_abor_enable=YES
# 启用后,上传时将遵循ASCII模式数据传输。
#ascii_upload_enable=YES
# 启用后,下载时将支持ASCII模式的数据传输。
#ascii_download_enable=YES
# 这个字符串选项允许您在连接首次进入时覆盖 vsftpd 显示的问候语横幅。
#ftpd_banner=Welcome to blah FTP service.
# 如果激活,您可以提供一个匿名密码电子邮件响应列表,导致登录被拒绝。默认情况下,包含此列表的文件是 /etc/vsftpdbanned_email_file, 但你可以用banned_email_file设置覆盖它。
#deny_email_enable=YES
# 此选项是包含不允许使用的匿名电子邮件密码列表的文件的名称。如果启用了 deny_email_enable 选项,则会参考该文件。
#banned_email_file=/etc/vsftpd.banned_emails
# 如果设置为YES,本地用户登录后将(默认情况下)被放置在其主目录下的 chroot()监狱 中。
# 警告:此选项具有安全隐患,特别是如果用户具有上传权限或shell访问权限。只有当你知道你在做什么时才启用。
# 注意,这些安全隐患不是vsftpd特有的。它们适用于所有提供将本地用户放入 chroot()监狱 的FTP守护进程。
chroot_local_user=YES
# 如果激活,您可以提供一个本地用户列表,这些用户在登录时被放置在其主目录中的chroot() jail中。
# 如果 chroot_local_user 设置为YES,则含义略有不同。在这种情况下,这个列表变成了一个不放在chroot() jail中的用户列表。
# 默认情况下,包含此列表的文件是 /etc/vsftpd 但是您可以使用 chroot_list_file 设置来覆盖它。
chroot_list_enable=YES
# 该选项是一个包含本地用户列表的文件的名称,该列表将被放置在用户主目录中的 chroot() jail 中。这个选项只有在启用了 chroot_list_enable 选项时才有意义。
# 如果启用了选项 chroot_local_user, 那么列表文件就变成了一个不能放在 chroot() jail 中的用户列表。
chroot_list_file=/etc/vsftpd.chroot_list
# 启用后,此设置将允许使用 "ls -R"。这是一个较小的安全风险,因为大型站点的顶层的 ls -R 可能会消耗大量资源。
#ls_recurse_enable=YES
# 这个选项应该是一个空目录的名称。此外,该目录不应该被ftp用户写入。当vsftpd不需要文件系统访问时,这个目录被用作安全的chroot()仓库。
secure_chroot_dir=/var/run/vsftpd/empty
# 使用系统用户进行身份验证,即 vsftpd 将使用的 PAM服务 的名称。
pam_service_name=vsftpd
# 此选项指定要用于SSL加密连接的RSA证书的位置。
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# 此选项指定用于SSL加密连接的RSA私钥的位置。如果未设置此选项,则期望私钥与证书在同一个文件中。
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
# 如果启用,并且vsftpd是针对OpenSSL编译的,vsftpd将支持通过SSL的安全连接。这适用于控制连接(包括登录)和数据连接。您还需要一个支持SSL的客户机。
# 请注意! !谨慎启用此选项。只有在需要时才启用它。vsftpd 不能保证 OpenSSL 库的安全性。通过启用此选项,您声明您信任已安装的OpenSSL库的安全性。
ssl_enable=NO
# 启用UTF-8支持
utf8_filesystem=YES
# 这个选项表示在本地(即非匿名)登录后vsftpd将尝试更改到的目录。失败被默默忽略。
local_root=/var/www/wordpress.lubo.world
# 使用被动连接模式,如果想禁止使用PASV方法获取数据连接,请设置为NO。
pasv_enable=YES
# 使用此选项可以覆盖 vsftpd 将在响应PASV命令时发布的IP地址。提供一个数字IP地址,除非 pasv_addr_resolve 被启用,在这种情况下,您可以提供一个主机名,它将在启动时为您进行DNS解析。
#pasv_address=43.156.70.250
# 为PASV风格的数据连接分配的最小端口。可以用来指定一个狭窄的端口范围,以辅助防火墙。
# pasv_min_port 和 pasv_max_port 两项配置需要同时在云服务器开放对应的范围端口
pasv_min_port=40000
# 为PASV类型的数据连接分配的最大端口。可以用来指定一个狭窄的端口范围,以辅助防火墙。
pasv_max_port=45000
# 如果启用,vsftpd将从 userlist_file 给出的文件名加载一个用户名列表。如果用户试图使用此文件中的名称登录,则在要求他们输入密码之前将被拒绝。这可能有助于防止明文密码被传输。另请参见 userlist_deny。
#userlist_enable=NO
# 如果 userlist_enable 被激活,则检查此选项。如果您将此设置设置为NO,那么用户将被拒绝登录,除非他们在 userlist_file 指定的文件中显式列出。当拒绝登录时,拒绝在要求用户输入密码之前发出。
#userlist_deny=YES
# userlist_enable 选项激活时加载的文件的名称。
# userlist_file=/etc/vsftpd.user_list
# 如果启用了,并且vsftpd是用 tcp_wrappers 支持编译的,则传入的连接将通过 tcp_wrappers 访问控制提供。
# 此外,还有一种基于每个ip的配置机制。如果 tcp_wrappers 设置了 VSFTPD_LOAD_CONF 环境变量,那么vsftpd会话将尝试加载该变量中指定的vsftpd配置文件。
# tcp_wrappers=NO
# 此选项用于控制是否允许用户在 chroot 环境中创建或修改文件。
# 当 chroot_local_user 设置为 YES 时,用户将被限制在其主目录中,这是通过 chroot 机制实现的,以增强安全性。
# 然而,默认情况下,出于安全考虑,chroot 环境中的主目录通常被设置为不可写,以防止潜在的安全风险。
# 如果设置为YES,允许用户在 chroot 环境中修改或上传文件。这在某些情况下可能是有用的,例如当用户需要在其主目录中上传或修改文件时。
# 然而,启用此选项也带来了潜在的安全风险,因为如果恶意用户能够利用这一功能,他们可能会执行不安全的操作或利用漏洞进行攻击。
allow_writeable_chroot=YES