
FTP 服务器是允许您在本地计算机和 Web 服务器之间建立 FTP 连接的软件。ProFTPD 是一个用于 Unix/Linux 服务器的 FTP 服务器,非常可配置且高效,它是免费的开源软件,采用 GPL 许可证发布。
在本文中,我们将向您演示如何在 Ubuntu 和 Debian 系统上安装和配置 ProFTPD。我们将涵盖安装服务器、设置用户账户、配置安全性以及测试配置。
步骤 1:在 Ubuntu 上安装 ProFTPD 服务器
当然,您需要安装软件才能使用它。首先,通过在终端运行以下 apt 命令,确保您的系统包是最新的。
sudo apt update
sudo apt upgrade
当系统安装了最新的安全补丁和软件更新后,通过运行以下命令来安装 ProFTPD 服务器。
sudo apt install proftpd
在安装过程中,它会询问您选择 ProFTPD 服务器的使用模式,您可以选择最适合您的需求的模式。
Standalone:ProFTPD 独立运行并处理所有连接。
inetd:ProFTPD 作为 inetd 超级服务器下的服务运行。
对于大多数设置,推荐选择 Standalone 模式,因为它能提供更好的性能和更容易的管理。

在 Debian 上安装 ProFTPD
安装完成后,ProFTPD 会自动启动,您可以通过以下命令检查服务是否在运行:
sudo systemctl status proftpd
如果 ProFTPD 正常运行,您将看到其状态为“active (running)”(活动(运行中))。
步骤 2:在 Ubuntu 上配置 ProFTPD 服务器
在开始使用之前,我们需要编辑一些文件。/etc/proftpd/proftpd.conf 是 Ubuntu/Debian 服务器的默认配置文件,使用 nano 编辑器打开它:
sudo nano /etc/proftpd/proftpd.conf
以下是一些您可能希望更改的基本配置设置:
ServerName:是您的 FTP 服务器的名称,您可以使用您的域名或一个自定义名称,便于识别。
ServerName "MyFTPServer"
DefaultRoot:确保 FTP 用户被限制在其主目录内,无法访问整个文件系统。取消注释这一行(删除 #):
DefaultRoot ~
默认情况下,FTP 使用 21 端口。如果您希望使用不同的端口(例如出于安全原因),请在此处更改端口号:
Port 2121
MaxInstances:此设置控制可以同时连接的客户端数。您可以根据需要调整此值:
MaxInstances 30
如果您希望禁用匿名访问以提高安全性,请确保 Anonymous 部分如下所示:
<Anonymous ~ftp>
User ftp
Group nogroup
# 允许客户使用“anonymous”以及“ftp”登录
UserAlias anonymous ftp
# 限制最大匿名登录数
MaxClients 10
# 禁止登录
<Limit LOGIN>
DenyAll
</Limit>
</Anonymous>
完成这些更改后,保存文件并重启 ProFTPD 服务以应用更改:
sudo systemctl restart proftpd
在安装过程中,默认会创建一个“proftpd”用户,但我们需要为它设置密码,可以运行:
sudo passwd proftpd
步骤 3:创建 ProFTPD 用户
ProFTPD 可以使用系统的常规用户账户进行 FTP 访问,这意味着如果用户已经在服务器上拥有账户,则不需要创建单独的 FTP 账户。
要创建一个新的 FTP 用户,请使用以下 adduser 命令:
sudo adduser ftpuser
您将被提示输入新用户的密码和一些可选信息。此账户现在可以使用其用户名和密码登录 FTP 服务器。
如果您希望此用户仅限于其主目录,请确保在 proftpd.conf 文件中设置了 DefaultRoot ~,如前所述。
步骤 4:保护 ProFTPD 服务器
FTP 本质上是不安全的,因为它以明文形式传输数据,包括用户名和密码。为了增强安全性,您应该配置 ProFTPD 使用 FTPS,这会通过 SSL/TLS 添加加密。
如果您没有 SSL 证书,可以为测试目的生成一个自签名证书。对于生产环境,建议使用来自受信任证书颁发机构(CA)的证书。
要生成一个自签名 SSL 证书:
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -days 365 -nodes
生成证书后,再次编辑 proftpd.conf 文件以启用 FTPS:
sudo nano /etc/proftpd/proftpd.conf
添加或取消注释以下行:
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSVerifyClient off
TLSRequired on
</IfModule>
完成这些更改后,重启 ProFTPD:
sudo systemctl restart proftpd
步骤 5:测试 FTPS 连接
要测试您的 FTPS 设置,您可以使用支持 FTPS 的 FTP 客户端,如 FileZilla。
打开 FTP 客户端并创建一个新的站点配置文件。 输入 FTP 服务器的 IP 地址或域名、用户名和密码。 在连接设置中选择 FTPS 或 SSL/TLS 加密的 FTP。 如果一切设置正确,您应该能够安全地连接到您的 ProFTPD 服务器。
步骤 6:管理防火墙设置
如果您正在运行防火墙(如 UFW),您需要允许 FTP 流量通过防火墙。
允许标准 FTP:
sudo ufw allow 21/tcp
对于 FTPS(如果您使用的是不同的端口),您还需要允许该端口。例如,如果您将端口更改为 2121:
sudo ufw allow 2121/tcp
完成这些更改后,重新加载防火墙:
sudo ufw reload
步骤 7:测试 FTP 服务器
要测试您的 ProFTPD 服务器是否正常工作,可以使用浏览器或 FTP 客户端。您可以通过以下语法连接到您的 FTP 服务器:
ftp://<server-ip-or-domain>
使用您之前创建的 FTP 用户账户登录。您应该能够上传、下载和管理服务器上的文件。
步骤 8:故障排除 ProFTPD
任何可用的错误消息将默认存储在 /var/log/proftpd/proftpd.log 文件中,如果您的 ProFTPD 服务器安装没有正常工作,可以检查此文件。
您还需要注意,有时 ProFTPD 服务器会出现延迟,您可能会看到“Connection Refused”(连接被拒绝)消息,这不是一个问题,您只需不断重启 ProFTPD 服务器,直到它工作正常(如果没有其他错误的话)。
您已经成功地在 Ubuntu 和 Debian 系统上安装和配置了 ProFTPD。本指南涵盖了基本的安装、配置、安全设置(使用 SSL/TLS)以及防火墙调整。现在,您拥有一个灵活且安全的 FTP 服务器,用于文件传输需求。
对于更高级的配置,例如限制带宽、设置虚拟用户或启用匿名上传,请参考 ProFTPD 文档。始终确保保护您的服务器,并定期更新软件以确保最大安全性。











