帮助中心
如何在Ubuntu 22.04上安装Pure-FTPd



Pure-FTPd 是一款免费(BSD 许可证)、安全、生产质量且符合标准的 FTP 服务器。它不提供不必要的花哨功能,而是注重效率和易用性。本指南提供了在 Ubuntu 上安装和配置 Pure-FTPd 的分步过程。


安装 Pure-FTPd 的先决条件


在继续安装之前,请确保您拥有:

  • Ubuntu 服务器设置
  • sudo访问具有权限的用户帐户


Pure-FTPd 安装步骤


更新系统包


首先,更新系统的软件包列表:

sudo apt update


安装 Pure-FTPd


接下来,使用以下命令安装 Pure-FTPd:

sudo apt install pure-ftpd


配置 Pure-FTPd 以增强安全性


建立安全的环境


为 FTP 用户创建专用组:

sudo groupadd ftpgroup

为 Pure-FTPd 创建用户:

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser


管理用户访问


要将用户添加到 FTP 服务器:

sudo pure-pw useradd [username] -u ftpuser -g ftpgroup -d /home/ftpusers/[username]
sudo pure-pw mkdb

替换[username]为所需的用户名。


配置 TLS 以实现安全数据传输


生成自签名证书:

sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

修改 Pure-FTPd 配置以激活 TLS:

echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
sudo service pure-ftpd restart


高级配置选项


以下是可以在 Ubuntu 上的/etc/pure-ftpd/conf/目录中为 Pure-FTPd 配置的常见设置列表。:

  • AltLog:指定替代日志记录方法。例如,AltLog clf:/var/log/pureftpd.log 将以 W3C 格式记录传输。
  • AnonymousOnly:启用后(通过创建名为 AnonymousOnly 的文件),它限制服务器仅允许匿名登录。
  • AntiWarez:如果该文件存在,则禁止用户上传服务器上已存在的文件。
  • AutoRename:如果存在同名文件,则自动重命名上传的文件。
  • Bind:将服务器绑定到特定的 IP 地址和端口。例如,Bind 21 绑定到所有可用地址上的端口 21。
  • BrokenClientsCompatibility:启用与不严格遵守 FTP 标准的 FTP 客户端的兼容性。
  • ChrootEveryone:如果启用,则将所有用户限制在其主目录中。
  • CreateHomeDir:如果用户登录时主目录不存在,则自动创建主目录。
  • CustomerProof:提高针对客户端配置和命令中常见错误的恢复能力。
  • Daemonize:当此文件存在时,Pure-FTPd 将作为守护进程运行。
  • DisplayDotFiles:控制是否显示点文件(隐藏文件)。
  • DontResolve:阻止 DNS 解析以进行日志记录和带宽控制,这可以提高性能。
  • ExtAuth:指定用于用户身份验证的外部程序。
  • ForcePassiveIP:强制服务器向被动模式客户端报告特定的 IP 地址。
  • FSCharset:设置文件系统字符集,对于非 ASCII 文件名很有用。
  • IPv4Only或IPv6Only:限制服务器仅侦听 IPv4 或 IPv6 地址。
  • KeepAllFiles:防止删除服务器上的任何文件。
  • LDAPConfigFile:指定用于身份验证的 LDAP 配置文件的路径。
  • LimitRecursion:限制目录列表中显示的递归深度和文件数量。
  • MaxClientsNumber:限制并发客户端的最大数量。
  • MaxClientsPerIP:限制来自单个 IP 地址的同时连接数。
  • MaxDiskUsage:限制磁盘使用百分比。
  • MaxIdleTime:设置断开客户端连接之前的最大空闲时间(以分钟为单位)。
  • MaxLoad:断开客户端连接或拒绝高于特定系统负载的新连接。
  • MinUID:设置登录的最小 UID。较低UID的用户无法登录。
  • MySQLConfigFile:指定用于基于数据库的身份验证的 MySQL 配置文件的路径。
  • NoAnonymous:如果此文件存在,则禁用匿名登录。
  • NoChmod:在服务器上禁用 CHMOD 命令。
  • NoRename:防止用户重命名文件。
  • PassivePortRange:定义被动连接的端口范围(例如,30000 35000)。
  • PerUserLimits:针对每个用户设置限制。
  • PureDB:指定 PureDB 用户数据库文件的路径。
  • 配额:设置用户配额限制。
  • SyslogFacility:定义用于日志记录的 syslog 工具。
  • TLSCipherSuite:指定加密连接允许的 TLS 密码。
  • TrustedGID:指定用于登录的受信任组 ID 列表。
  • UMask:设置文件创建的默认umask。
  • UnixAuthentication:启用针对 UNIX 密码数据库的身份验证。
  • UploadScript:指定成功上传后运行的脚本。

此列表涵盖了最常用的配置选项,但并不详尽。请始终参考官方 Pure-FTPd 文档或使用

pure-ftpd-wrapper --帮助

指挥以获得最准确、最全面的信息。


监控与维护


定期检查登录/var/log/pure-ftpd/是否有任何异常活动或错误。

文章相关标签: Pure-FTPd Ubuntu 22.04
购物车