跳至正文
老丹的足迹 —— 代码写给机器,游记写给自己,感悟写给时间
老丹的足迹 老丹的足迹
老丹的足迹 老丹的足迹
  • 首页
  • 示例页面
  • 首页
  • 示例页面
老丹的足迹 老丹的足迹
老丹的足迹 老丹的足迹
  • 首页
  • 示例页面
  • 首页
  • 示例页面

vsftpd.conf 完整配置项清单

一、布尔值选项(共 76 项)

说明:原手册中 xferlog_enable 的默认值明确为 NO(但示例配置文件将其启用),此处按手册原文统计为 76 项。

序号选项名默认值完整解释(译自手册)
1allow_anon_sslNO仅当 ssl_enable 启用时有效。若设为 YES,匿名用户将被允许使用安全的 SSL 连接。
2anon_mkdir_write_enableNO若设为 YES,匿名用户将被允许在特定条件下创建新目录。为此,必须启用 write_enable,且匿名 FTP 用户必须对父目录有写权限。
3anon_other_write_enableNO若设为 YES,匿名用户将被允许执行除上传和创建目录以外的写入操作,例如删除和重命名。通常不推荐,但为完整性而包含。
4anon_upload_enableNO若设为 YES,匿名用户将被允许在特定条件下上传文件。为此,必须启用 write_enable,且匿名 FTP 用户必须对目标上传位置有写权限。虚拟用户上传也需要此设置。
5anon_world_readable_onlyYES启用时,匿名用户只被允许下载世界可读的文件。这是考虑到 FTP 用户可能拥有文件,尤其是在有上传的情况下。
6anonymous_enableNO控制是否允许匿名登录。若启用,用户名 ftp 和 anonymous 都被识别为匿名登录。
7ascii_download_enableNO启用时,下载时将支持 ASCII 模式数据传输。
8ascii_upload_enableNO启用时,上传时将支持 ASCII 模式数据传输。
9async_abor_enableNO启用时,将启用一个特殊的 FTP 命令 “async ABOR”。只有不明智的 FTP 客户端会使用此功能。此外,此功能处理起来很麻烦,因此默认禁用。不幸的是,除非此功能可用,否则某些 FTP 客户端在取消传输时会挂起,因此您可能希望启用它。
10backgroundNO启用时,且 vsftpd 以 “listen” 模式启动,vsftpd 将使监听进程在后台运行。即控制权会立即返回给启动 vsftpd 的 shell。
11check_shellYES注意!此选项仅对非 PAM 构建的 vsftpd 有效。若禁用,vsftpd 将不会检查 /etc/shells 中本地登录用户是否拥有有效 shell。
12chmod_enableYES启用时,允许使用 SITE CHMOD 命令。注意!这仅适用于本地用户。匿名用户永远不能使用 SITE CHMOD。
13chown_uploadsNO若启用,所有匿名上传的文件的所有权将更改为 chown_username 设置中指定的用户。从管理和安全角度来看,这很有用。
14chroot_list_enableNO若激活,您可以提供一个本地用户列表,这些用户在登录后会被 chroot() 到其 home 目录。若 chroot_local_user 设为 YES,含义略有不同:此时该列表成为 不 被 chroot() 的用户列表。默认情况下,包含此列表的文件为 /etc/vsftpd.chroot_list,但您可以通过 chroot_list_file 设置覆盖。
15chroot_local_userNO若设为 YES,本地用户默认在登录后会被 chroot() 到其 home 目录。警告:此选项有安全隐患,尤其是当用户有上传权限或 shell 访问权限时。仅在您清楚自己在做什么时启用。注意,这些安全隐患并非 vsftpd 特有,它们适用于所有提供将本地用户放入 chroot() 监狱的 FTP 守护进程。
16connect_from_port_20NO此选项控制 PORT 模式数据连接是否在服务器端使用端口 20(ftp-data)。出于安全原因,某些客户端可能坚持要求如此。反之,禁用此选项可使 vsftpd 以稍低权限运行。
17debug_sslNO若为 true,OpenSSL 连接诊断信息将转储到 vsftpd 日志文件中。(v2.0.6 新增)
18delete_failed_uploadsNO若为 true,任何上传失败的文件将被删除。(v2.0.7 新增)
19deny_email_enableNO若激活,您可以提供一个匿名密码电子邮件回复列表,这些回复会导致登录被拒绝。默认情况下,包含此列表的文件为 /etc/vsftpd.banned_emails,但您可以通过 banned_email_file 设置覆盖。
20dirlist_enableYES若设为 NO,所有目录列表命令将返回权限被拒绝。
21dirmessage_enableNO若启用,FTP 服务器用户首次进入新目录时可以显示消息。默认情况下,扫描目录中的 .message 文件,但可通过 message_file 配置设置覆盖。
22download_enableYES若设为 NO,所有下载请求将返回权限被拒绝。
23dual_log_enableNO若启用,将并行生成两个日志文件,默认位置为 /var/log/xferlog 和 /var/log/vsftpd.log。前者是 wu-ftpd 风格的传输日志,可被标准工具解析;后者是 vsftpd 自有风格的日志。
24force_dot_filesNO若激活,即使客户端未使用 -a 标志,以 . 开头的文件和目录也会在目录列表中显示。此覆盖排除 “.” 和 “..” 条目。
25force_anon_data_sslNO仅当 ssl_enable 激活时适用。若激活,所有匿名登录都被强制使用安全 SSL 连接来在数据连接上发送和接收数据。
26force_anon_logins_sslNO仅当 ssl_enable 激活时适用。若激活,所有匿名登录都被强制使用安全 SSL 连接来发送密码。
27force_local_data_sslYES仅当 ssl_enable 激活时适用。若激活,所有非匿名登录都被强制使用安全 SSL 连接来在数据连接上发送和接收数据。
28force_local_logins_sslYES仅当 ssl_enable 激活时适用。若激活,所有非匿名登录都被强制使用安全 SSL 连接来发送密码。
29guest_enableNO若启用,所有非匿名登录都被归类为 “guest” 登录。guest 登录会被映射到 guest_username 设置中指定的用户。
30hide_idsNO若启用,目录列表中的所有用户和组信息将显示为 “ftp”。
31implicit_sslNO若启用,SSL 握手是所有连接上期望的第一件事(FTPS 协议)。要同时支持显式 SSL 和/或明文,应运行单独的 vsftpd 监听进程。
32listenNO若启用,vsftpd 将以 standalone 模式运行。这意味着 vsftpd 不能从某种 inetd 运行。相反,vsftpd 可执行文件被直接运行一次。vsftpd 本身将负责监听和处理传入连接。
33listen_ipv6NO与 listen 参数类似,但 vsftpd 监听 IPv6 套接字而不是 IPv4 套接字。注意,监听 IPv6 “any” 地址(::)的套接字默认会同时接受 IPv6 和 IPv4 连接。此参数与 listen 参数互斥。
34local_enableNO控制是否允许本地登录。若启用,/etc/passwd(或 PAM 配置引用的任何地方)中的普通用户帐户可用于登录。任何非匿名登录(包括虚拟用户)都必须启用此项。
35lock_upload_filesYES启用时,所有上传都会对上传文件进行写锁定。所有下载都会对下载文件进行共享读锁定。警告!在启用此选项之前,请注意恶意读者可能使想要追加文件的写入者饥饿。
36log_ftp_protocolNO启用时,所有 FTP 请求和响应都会被记录(前提是未启用 xferlog_std_format)。对调试有用。
37ls_recurse_enableNO启用时,此设置允许使用 ls -R。这是一个轻微的安全风险,因为在大站点顶层执行 ls -R 可能消耗大量资源。
38mdtm_writeYES启用时,此设置允许 MDTM 设置文件修改时间(受通常访问检查约束)。
39no_anon_passwordNO启用时,这会阻止 vsftpd 询问匿名密码 —— 匿名用户将直接登录。
40no_log_lockNO启用时,这会阻止 vsftpd 在写入日志文件时获取文件锁。此选项通常不应启用。它的存在是为了规避操作系统错误,例如 Solaris/Veritas 文件系统组合已被观察到有时在尝试锁定日志文件时出现挂起。
41one_process_modelNO如果您有 Linux 2.4 内核,可以使用不同的安全模型,每个连接仅使用一个进程。这是一个不太纯粹的安全模型,但能提高性能。除非您清楚自己在做什么,并且您的站点支持大量同时连接的用户,否则真的不建议启用。
42passwd_chroot_enableNO若启用,配合 chroot_local_user,则可以为每个用户指定 chroot() 监狱位置。每个用户的监狱从其 /etc/passwd 中的 home 目录字符串派生。home 目录字符串中出现 /./ 表示监狱位于该路径中的特定位置。
43pasv_addr_resolveNO若要在 pasv_address 选项中使用主机名(而非 IP 地址),请设为 YES。
44pasv_enableYES若想禁止使用 PASV 方法获取数据连接,请设为 NO。
45pasv_promiscuousNO若想禁用 PASV 安全检查(该检查确保数据连接与控制连接来自同一 IP 地址),请设为 YES。仅在您清楚自己在做什么时启用!唯一合法的用途是用于某种形式的安全隧道方案,或可能为了支持 FXP。
46port_enableYES若想禁止使用 PORT 方法获取数据连接,请设为 NO。
47port_promiscuousNO若想禁用 PORT 安全检查(该检查确保传出数据连接只能连接到客户端),请设为 YES。仅在您清楚自己在做什么时启用!
48require_certNO若设为 yes,所有 SSL 客户端连接都被要求提供客户端证书。对此证书的验证程度由 validate_cert 控制。(v2.0.6 新增)
49require_ssl_reuseYES若设为 yes,所有 SSL 数据连接都被要求展示 SSL 会话复用(这证明它们知道与控制通道相同的主密钥)。尽管这是一个安全默认值,但它可能破坏许多 FTP 客户端,因此您可能希望禁用它。有关后果的讨论,请参见 http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html。(v2.1.0 新增)
50run_as_launching_userNO若想让 vsftpd 以启动 vsftpd 的用户身份运行,请设为 YES。这在无法获得 root 访问权限时很有用。严重警告!除非您完全清楚自己在做什么,否则不要启用此选项,因为天真地使用此选项可能产生严重的安全问题。具体来说,当设置此选项时,vsftpd 无法/不能使用 chroot 技术来限制文件访问(即使由 root 启动)。一种较差的替代方案可能是使用 deny_file 设置如 {/*,*..*},但其可靠性无法与 chroot 相比,不应依赖。如果使用此选项,许多其他选项将受到限制。例如,需要权限的选项如非匿名登录、上传所有权更改、从端口 20 连接以及监听小于 1024 的端口预期无法工作。其他选项可能受到影响。
51secure_email_list_enableNO若只想接受匿名登录的指定邮件密码列表,请设为 YES。这对于无需虚拟用户即可低麻烦地限制对低安全内容的访问很有用。启用时,除非提供的密码在 email_password_file 设置指定的文件中列出,否则阻止匿名登录。文件格式为每行一个密码,无额外空白。默认文件名为 /etc/vsftpd.email_passwords。
52session_supportNO此选项控制 vsftpd 是否尝试维护登录会话。如果 vsftpd 维护会话,它将尝试更新 utmp 和 wtmp。如果使用 PAM 进行认证,它还将打开 pam_session,并仅在注销时关闭。如果您不需要会话日志记录,并且希望给 vsftpd 更多机会以更少进程和/或更少权限运行,您可能希望禁用此选项。注意 —— utmp 和 wtmp 支持仅在使用 PAM 启用的构建中提供。
53setproctitle_enableNO若启用,vsftpd 将尝试在系统进程列表中显示会话状态信息。换句话说,进程的报告名称将改变以反映 vsftpd 会话正在做什么(空闲、下载等)。出于安全目的,您可能希望保持关闭。
54ssl_enableNO若启用,且 vsftpd 是针对 OpenSSL 编译的,vsftpd 将通过 SSL 支持安全连接。这适用于控制连接(包括登录)以及数据连接。您也需要支持 SSL 的客户端。注意!!启用此选项要小心。仅在需要时启用。vsftpd 不对 OpenSSL 库的安全性做任何保证。启用此选项,即表示您声明信任已安装的 OpenSSL 库的安全性。
55ssl_request_certYES若启用,vsftpd 将在传入的 SSL 连接上请求(但不一定要求,参见 require_cert)证书。通常这不会引起任何麻烦,但 IBM zOS 似乎有问题。(v2.0.7 新增)
56ssl_sslv2NO仅当 ssl_enable 激活时适用。若启用,此选项将允许 SSL v2 协议连接。TLS v1.2+ 连接优先。
57ssl_sslv3NO仅当 ssl_enable 激活时适用。若启用,此选项将允许 SSL v3 协议连接。TLS v1.2+ 连接优先。
58ssl_tlsv1NO仅当 ssl_enable 激活时适用。若启用,此选项将允许 TLS v1.0 协议连接。TLS v1.2+ 连接优先。
59ssl_tlsv1_1NO仅当 ssl_enable 激活时适用。若启用,此选项将允许 TLS v1.1 协议连接。TLS v1.2+ 连接优先。
60ssl_tlsv1_2YES仅当 ssl_enable 激活时适用。若启用,此选项将允许 TLS v1.2 协议连接。TLS v1.2+ 连接优先。
61ssl_tlsv1_3YES仅当 ssl_enable 激活时适用。若启用,此选项将允许 TLS v1.3 协议连接。TLS v1.2+ 连接优先。
62strict_ssl_read_eofNO若启用,SSL 数据上传被要求通过 SSL 终止,而不是通过 socket 上的 EOF。此选项是为了确保攻击者不会用伪造的 TCP FIN 过早终止上传。不幸的是,它默认未启用,因为很少有客户端能正确处理。(v2.0.7 新增)
63strict_ssl_write_shutdownNO若启用,SSL 数据下载被要求通过 SSL 终止,而不是通过 socket 上的 EOF。这默认关闭,因为我找不到任何一个能这样做的 FTP 客户端。这影响不大。它影响的是我们判断客户端是否确认完整接收文件的能力。即使没有此选项,客户端也能检查下载的完整性。(v2.0.7 新增)
64syslog_enableNO若启用,则原本写入 /var/log/vsftpd.log 的任何日志输出将改为发送到系统日志。日志记录在 FTPD facility 下进行。
65tcp_wrappersNO若启用,且 vsftpd 是使用 tcp_wrappers 支持编译的,传入连接将通过 tcp_wrappers 访问控制。此外,还有一种基于每个 IP 配置的机制。如果 tcp_wrappers 设置了 VSFTPD_LOAD_CONF 环境变量,则 vsftpd 会话将尝试加载此变量中指定的 vsftpd 配置文件。
66text_userdb_namesNO默认情况下,目录列表的用户和组字段中显示数字 ID。您可以通过启用此参数获得文本名称。出于性能原因,默认关闭。
67tilde_user_enableNO若启用,vsftpd 将尝试解析诸如 ~chris/pics 之类的路径名,即波浪号后跟用户名。注意,vsftpd 始终解析路径名 ~ 和 ~/something(此时 ~ 解析为初始登录目录)。注意,~user 路径仅当 /etc/passwd 文件可在 当前 chroot() 监狱中找到时才会解析。
68use_localtimeNO若启用,vsftpd 将使用本地时区显示目录列表中的时间。默认显示 GMT。MDTM FTP 命令返回的时间也受此选项影响。
69use_sendfileYES一个内部设置,用于测试在您的平台上使用 sendfile() 系统调用的相对收益。
70userlist_denyYES如果 userlist_enable 激活,则检查此选项。如果您将此设置设为 NO,则用户将被拒绝登录,除非他们明确列在 userlist_file 指定的文件中。当登录被拒绝时,拒绝在用户被询问密码之前发出。
71userlist_enableNO若启用,vsftpd 将从 userlist_file 给定的文件名加载用户名列表。如果用户尝试使用此文件中的名称登录,他们将在被询问密码之前被拒绝。这对于防止明文密码传输可能有用。另请参见 userlist_deny。
72validate_certNO若设为 yes,所有收到的 SSL 客户端证书必须验证通过。自签名证书不构成有效验证。(v2.0.6 新增)
73virtual_use_local_privsNO若启用,虚拟用户将使用与本地用户相同的权限。默认情况下,虚拟用户使用与匿名用户相同的权限,这往往更加受限(尤其是在写入访问方面)。
74write_enableNO此选项控制是否允许任何更改文件系统的 FTP 命令。这些命令是:STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 和 SITE。
75xferlog_enableNO若启用,将维护一个详细记录上传和下载的日志文件。默认情况下,此文件将位于 /var/log/vsftpd.log,但可通过 vsftpd_log_file 配置设置覆盖。
76xferlog_std_formatNO若启用,传输日志文件将以标准 xferlog 格式写入,与 wu-ftpd 使用的格式相同。这很有用,因为您可以重用现有的传输统计生成器。但默认格式更易读。此风格日志文件的默认位置为 /var/log/xferlog,但您可以通过 xferlog_file 设置更改。

二、数值选项(共 20 项)

序号选项名默认值完整解释(译自手册)
1accept_timeout60PASV 风格数据连接中,远程客户端建立连接的超时时间,以秒为单位。
2anon_max_rate0(不限)匿名客户端允许的最大数据传输速率,以字节/秒为单位。
3anon_umask077匿名用户创建文件时 umask 的值。注意!如果要指定八进制值,请记住加 “0” 前缀,否则该值将被视为十进制整数!
4chown_upload_mode0600对已 chown() 的匿名上传文件强制使用的文件模式。(v2.0.6 新增)
5connect_timeout60远程客户端响应我们的 PORT 风格数据连接的超时时间,以秒为单位。
6data_connection_timeout300大致是允许数据传输在没有进展的情况下停滞的最大时间,以秒为单位。如果超时触发,远程客户端被踢出。
7delay_failed_login1报告登录失败之前暂停的秒数。
8delay_successful_login0允许成功登录之前暂停的秒数。
9file_open_mode0666上传文件被创建时的权限。Umask 会在此值之上应用。如果您希望上传的文件可执行,可能需要更改为 0777。
10ftp_data_port20PORT 风格连接源起的端口(只要启用名称不当的 connect_from_port_20)。
11idle_session_timeout300远程客户端在 FTP 命令之间允许花费的最大时间,以秒为单位。如果超时触发,远程客户端被踢出。
12listen_port21如果 vsftpd 处于 standalone 模式,这是它监听传入 FTP 连接的端口。
13local_max_rate0(不限)本地认证用户允许的最大数据传输速率,以字节/秒为单位。
14local_umask077本地用户创建文件时 umask 的值。注意!如果要指定八进制值,请记住加 “0” 前缀,否则该值将被视为十进制整数!
15max_clients0(不限)如果 vsftpd 处于 standalone 模式,这是允许连接的最大客户端数。任何额外连接的客户端将收到错误消息。
16max_login_fails3在此次登录失败次数之后,会话被终止。
17max_per_ip0(不限)如果 vsftpd 处于 standalone 模式,这是允许从同一源 IP 地址连接的最大客户端数。超过此限制的客户端将收到错误消息。
18pasv_max_port0(使用任意端口)为 PASV 风格数据连接分配的最大端口。可用于指定窄端口范围以辅助防火墙配置。
19pasv_min_port0(使用任意端口)为 PASV 风格数据连接分配的最小端口。可用于指定窄端口范围以辅助防火墙配置。
20trans_chunk_size0(让 vsftpd 选择合适设置)您可能不想更改此项,但尝试将其设置为类似 8192 的值可以使带宽限制器更平滑。

三、字符串选项(共 35 项)

序号选项名默认值完整解释(译自手册)
1anon_root(无)此选项表示 vsftpd 在匿名登录后尝试切换到的目录。失败则静默忽略。
2banned_email_file/etc/vsftpd.banned_emails此选项是包含不允许的匿名电子邮件密码列表的文件名。如果启用了 deny_email_enable 选项,则查阅此文件。
3banner_file(无)此选项是包含某人连接服务器时显示文本的文件名。如果设置,它会覆盖 ftpd_banner 选项提供的横幅字符串。
4ca_certs_file(无)此选项是用于加载证书颁发机构(CA)证书的文件名,目的是验证客户端证书。加载的证书也会通告给客户端,以适用于 TLSv1.0 客户端如 z/OS FTP 客户端。遗憾的是,由于 vsftpd 使用受限文件系统空间(chroot),默认的 SSL CA 证书路径未被使用。(v2.0.6 新增)
5chown_usernameroot这是被赋予匿名上传文件所有权的用户名。此选项仅当另一个选项 chown_uploads 被设置时才相关。
6chroot_list_file/etc/vsftpd.chroot_list此选项是包含本地用户列表的文件名,这些用户将被 chroot() 到其 home 目录。此选项仅当 chroot_list_enable 选项启用时才相关。如果启用了 chroot_local_user 选项,则此列表文件变为 不 被 chroot() 的用户列表。
7cmds_allowed(无)此选项指定一个逗号分隔的允许 FTP 命令列表(登录后。USER、PASS 和 QUIT 等命令在登录前总是被允许)。其他命令被拒绝。这是一种强大的锁定 FTP 服务器的方法。示例:cmds_allowed=PASV,RETR,QUIT。
8cmds_denied(无)此选项指定一个逗号分隔的拒绝 FTP 命令列表(登录后。USER、PASS、QUIT 和其他命令在登录前总是被允许)。如果命令同时出现在此列表和 cmds_allowed 中,则拒绝优先。(v2.1.0 新增)
9deny_file(无)此选项可用于设置不应以任何方式访问的文件名(和目录名等)模式。受影响的项不会被隐藏,但任何尝试对其进行任何操作(下载、进入目录、影响目录内的内容等)将被拒绝。此选项非常简单,不应被用于严肃的访问控制 —— 应优先使用文件系统的权限。然而,此选项在某些虚拟用户设置中可能有用。特别要注意,如果文件名可以通过多种名称访问(可能由于符号链接或硬链接),则必须小心拒绝所有名称的访问。如果项的名称包含 hide_file 给定的字符串,或者它们匹配 hide_file 指定的正则表达式,则访问将被拒绝。注意,vsftpd 的正则表达式匹配代码是一个简单实现,是完整正则表达式功能的一个子集。因此,您需要仔细且彻底地测试此选项的任何应用。并且建议您使用文件系统权限来实现任何重要的安全策略,因为它们更可靠。支持的正则表达式语法是任意数量的 *、? 和非嵌套的 {,} 运算符。正则表达式匹配仅在路径的最后一个组件上支持,例如 a/b/? 支持但 a/?/c 不支持。示例:deny_file={*.mp3,*.mov,.private}。
10download_file(无)此选项可被设置以限制下载为名称匹配指定模式的文件。如果文件名也匹配 deny_file 模式,则拒绝优先。有关用法和模式详情,请参见 deny_file 选项。
11dsa_cert_file(无,RSA 证书足够)此选项指定用于 SSL 加密连接的 DSA 证书的位置。
12dsa_private_key_file(无)此选项指定用于 SSL 加密连接的 DSA 私钥的位置。如果未设置此选项,则私钥预期与证书在同一文件中。
13email_password_file/etc/vsftpd.email_passwords此选项可用于为 secure_email_list_enable 设置提供备用文件。
14ftp_usernameftp这是用于处理匿名 FTP 的用户名。此用户的 home 目录是匿名 FTP 区域的根目录。
15ftpd_banner(无,显示默认 vsftpd 横幅)此字符串选项允许您覆盖 vsftpd 在初次连接时显示的问候横幅。
16guest_usernameftp参见布尔设置 guest_enable 了解 guest 登录的构成。此设置是 guest 用户映射到的真实用户名。
17hide_file(无)此选项可用于设置在目录列表中应隐藏的文件名(和目录名等)模式。尽管被隐藏,文件/目录等对于知道实际名称的客户端仍然完全可以访问。如果项的名称包含 hide_file 给定的字符串,或者它们匹配 hide_file 指定的正则表达式,则项将被隐藏。注意,vsftpd 的正则表达式匹配代码是完整正则表达式功能的一个子集的简单实现。有关确切支持的正则表达式语法详情,请参见 deny_file。示例:hide_file={*.mp3,.hidden,hide*,h?}。
18listen_address(无)如果 vsftpd 处于 standalone 模式,默认监听地址(所有本地接口)可通过此设置覆盖。提供数字 IP 地址。
19listen_address6(无)类似于 listen_address,但为 IPv6 监听器指定默认监听地址(在设置 listen_ipv6 时使用)。格式为标准 IPv6 地址格式。
20local_root(无)此选项表示 vsftpd 在本地(即非匿名)登录后尝试切换到的目录。失败则静默忽略。
21message_file.message此选项是进入新目录时我们查找的文件名。内容显示给远程用户。此选项仅当启用了 dirmessage_enable 选项时才相关。
22nopriv_usernobody这是 vsftpd 想要完全无特权时使用的用户名。注意,这应该是一个专用用户,而不是 nobody。用户 nobody 在大多数机器上往往被用于很多重要的事情。
23pam_service_namevsftpd此字符串是 vsftpd 将使用的 PAM 服务名称。
24pasv_address(无,地址取自传入连接套接字)使用此选项覆盖 vsftpd 响应 PASV 命令时通告的 IP 地址。提供数字 IP 地址,除非启用了 pasv_addr_resolve,在这种情况下您可以提供主机名,它将在启动时为您进行 DNS 解析。
25rsa_cert_file/usr/share/ssl/certs/vsftpd.pem此选项指定用于 SSL 加密连接的 RSA 证书的位置。
26rsa_private_key_file(无)此选项指定用于 SSL 加密连接的 RSA 私钥的位置。如果未设置此选项,则私钥预期与证书在同一文件中。
27secure_chroot_dir/var/run/vsftpd/empty此选项应为一个空目录的名称。此外,该目录不应被 ftp 用户写入。在 vsftpd 不需要文件系统访问时,此目录用作安全的 chroot() 监狱。
28ssl_ciphersDES-CBC3-SHA此选项可用于选择 vsftpd 将允许用于 SSL 加密连接的 SSL 加密套件。有关更多详情,请参见 ciphers 手册页。注意,限制加密套件可能是一种有用的安全预防措施,因为它可以防止恶意远程方强制使用他们已发现问题的加密套件。
29ssl_sni_hostname(无)如果设置,SSL 连接将被拒绝,除非传入握手中的 SNI 主机名匹配此值。
30upload_file(无)此选项可被设置以限制上传为名称匹配指定模式的文件。如果文件名也匹配 deny_file 模式,则拒绝优先。有关用法和模式详情,请参见 deny_file 选项。
31user_config_dir(无)此强大的选项允许覆盖手册页中指定的任何配置选项,基于每个用户。用法简单,最好通过示例说明。如果您将 user_config_dir 设置为 /etc/vsftpd_user_conf,然后以用户 “chris” 登录,vsftpd 将在会话期间应用 /etc/vsftpd_user_conf/chris 文件中的设置。此文件的格式与本手册页中详述的格式相同!请注意,并非所有设置在每个用户基础上都有效。例如,许多设置仅在用户会话开始之前有效。在每个用户基础上不会影响任何行为的设置示例包括 listen_address、banner_file、max_per_ip、max_clients、xferlog_file 等。
32user_sub_token(无)此选项与虚拟用户结合使用很有用。它用于基于模板自动为每个虚拟用户生成 home 目录。例如,如果通过 guest_username 指定的真实用户的 home 目录是 /home/virtual/$USER,并且 user_sub_token 设置为 $USER,那么当虚拟用户 fred 登录时,他最终会(通常被 chroot() 到)目录 /home/virtual/fred。如果 local_root 包含 user_sub_token,此选项也会生效。
33userlist_file/etc/vsftpd.user_list此选项是当 userlist_enable 选项激活时加载的文件名。
34vsftpd_log_file/var/log/vsftpd.log此选项是写入 vsftpd 风格日志文件的文件名。仅在设置了 xferlog_enable 且 未 设置 xferlog_std_format 时写入此日志。或者,如果您设置了 dual_log_enable 选项,也会写入。还有一个复杂情况 —— 如果您设置了 syslog_enable,则不写入此文件,输出改为发送到系统日志。
35xferlog_file/var/log/xferlog此选项是写入 wu-ftpd 风格传输日志的文件名。仅在设置了 xferlog_enable 且同时设置了 xferlog_std_format 时写入传输日志。或者,如果您设置了 dual_log_enable 选项,也会写入。

📊 最终统计汇总

类别数量
布尔值选项76 项
数值选项20 项
字符串选项35 项
总计131 项

说明:本次统计严格按照您提供的 log.txt 手册原文逐项计数,序号与数量完全一致。布尔值部分编号 1-76,数值部分 1-20,字符串部分 1-35,总计 131 个配置项。每个选项的解释均为手册描述的完整翻译,未作省略。

作者

老丹

关注我
其他文章
上一个

vsftpd + Apache 共享目录:从零到生产环境部署指南

下一个

Tailscale 客户端完全操作手册:从安装到连接自建 Headscale 的日常命令大全

关于博主

    老丹是一名C/C++后台开发工程师,信奉“无抽象不设计,无性能不生产”。

  • 技术栈:Modern C++、Linux环境编程、多线程/并发、网络编程等。
  • 信条:能用constexpr解决的问题绝不拖到运行时,能靠RAII避免的泄漏绝不写析构。
  • 正在填坑:从解封装到渲染的C++全链路实现,正在驯服FFmpeg与H.264/H.265。
  • 输出原则:这里的每一段代码都经过-Wall -Wextra -Werror -O2的洗礼。

近期文章

  • Ubuntu 防火墙迁移指南:从 UFW 到 firewalld 的完整实践 2026年9月12日
  • Nano 编辑器完全操作指南:从入门到熟练 2026年9月12日
  • SSCG:让自签名证书不再“危险”的生成工具 2026年9月12日
  • Ubuntu Samba 服务安装与配置完全指南 2026年9月12日
  • 从零开始:用 Docker 部署 Jellyfin 并启用英特尔核显硬件加速 2026年9月11日

文章分类

  • C/C++开发 (22)
  • Docker容器 (5)
  • Linux工具包 (17)
  • Linux服务配置 (50)
  • Linux系统 (16)
  • OpenWrt路由 (3)
  • Shell脚本 (3)
  • 代码管理 (1)
  • 安防技术 (4)
  • 数据安全 (36)
  • 未分类 (1)
  • 网络协议 (25)
  • 计算机理论 (23)
  • 音视频技术 (5)
联系我们:📍 地址:中国·广东省深圳市   |   ✉️ 邮箱:support@tanglinux.com   |   💬 QQ:870866607
版权所有:老丹的足迹粤ICP备2026061170号-1       公安备案图标 粤公网安备44030002013274号