For the complete documentation index, see llms.txt. This page is also available as Markdown.

34.4 vsftpd

vsftpd(Very Secure FTP Daemon,即“非常安全的 FTP 守护进程”)以安全性为首要设计目标,在 Linux 系统中应用较为广泛。经测试表明,Windows 环境下的 FTP 客户端访问不会产生乱码。

安装 vsftpd

通过 pkg 安装:

# pkg install vsftpd-ssl pam_pwdfile

安装包说明:

名称
说明

vsftpd-ssl

带 SSL 支持的 vsftpd 包

pam_pwdfile

一个 PAM 模块,允许使用独立于系统账户的密码文件(类似 /etc/passwd 格式)验证用户身份

技巧

在 FreeBSD 系统中,/etc/passwd 文件仅作兼容之用,实际认证使用的是相应的数据库文件。

通过 Ports 安装:

# cd /usr/ports/ftp/vsftpd/ && make install clean
# cd /usr/ports/security/pam_pwdfile/ && make install clean

观察安装输出:

[2/2] Installing vsftpd-ssl-3.0.5_2...
===> Creating groups
Using existing group 'ftp'
===> Creating users
Creating user 'ftp' with uid '14'
===> Creating homedir(s)
[2/2] Extracting vsftpd-ssl-3.0.5_2: 100%

vsftpd 会创建用户 ftp,查看用户 ftp 的 UID、GID 及所属组信息:

创建虚拟用户

新增系统用户:

已创建以下信息:

项目

用户名

ftptest

密码

z

ftp

配置 pam_pwdfile

创建 PAM 配置文件 /etc/pam.d/vsftpd

创建密码数据库:

以上命令向 vsftpd 登录数据库添加了用户 ftptest 并设置密码 z(仅供测试用,该密码并不安全!)。

后续添加新用户:

其中,-6:强制使用基于 SHA-512 的 Crypt 哈希算法。

vsftpd 配置文件

vsftpd 的主配置文件位于 /usr/local/etc/vsftpd.conf,可直接修改;同时提供了备用模板文件 /usr/local/etc/vsftpd.conf.sample

/usr/local/etc/vsftpd.conf 文件配置修改为如下内容:

官网文档参见 VSFTPD.CONF,中文翻译可参考金步国的 vsftpd.conf 中文版

vsftpd.chroot_list 文件

创建并编辑 /usr/local/etc/vsftpd.chroot_list 文件,将用户 ftptest 加入其中。

创建路径

创建 FTP 目录并设置权限:

服务管理

配置完成后,启动并管理 vsftpd 服务:

使用用户名 ftptest,密码 z 登录 FTP。

vsftpd 日志文件位于 /var/log/vsftpd.log

参考文献

angeloma. How to set up vsftpd on FreeBSD 12?[EB/OL]. (2020-02-13)[2026-03-25]. https://www.osradar.com/how-to-set-up-vsftpd-on-freebsd-12/. 介绍在 FreeBSD 上安装配置 vsftpd 服务的步骤。

最后更新于