在 Linux 上更新 FTP 服务器,取决于你使用的是哪种 FTP 服务软件。最常见的有 vsftpd、ProFTPD 和 Pure-FTPd。下面按常见情况分别说明。
一、先确认你用的是哪种 FTP 服务器
执行以下命令之一:
ps -ef | grep ftp
或:
systemctl status vsftpd
systemctl status proftpd
systemctl status pure-ftpd
二、基于不同发行版的更新方式
✅ 1. vsftpd(最常见)
Debian / Ubuntu
sudo apt update
sudo apt upgrade vsftpd
CentOS / Rocky / Alma / RHEL
sudo yum update vsftpd
# 或
sudo dnf update vsftpd
重启服务
sudo systemctl restart vsftpd
✅ 2. ProFTPD
Debian / Ubuntu
sudo apt update
sudo apt upgrade proftpd
CentOS / RHEL
sudo yum update proftpd
# 或
sudo dnf update proftpd
重启
sudo systemctl restart proftpd
✅ 3. Pure-FTPd
Debian / Ubuntu
sudo apt update
sudo apt upgrade pure-ftpd
CentOS / RHEL
sudo yum update pure-ftpd
# 或
sudo dnf update pure-ftpd
重启
sudo systemctl restart pure-ftpd
三、更新后必须检查的事项(非常重要)
1️⃣ 检查服务是否正常运行
systemctl status vsftpd
2️⃣ 检查配置文件是否被覆盖
更新后,某些系统会提示:
Configuration file modified, keep or replace?
建议:
- 选择 keep current version
- 然后手动合并新配置
配置文件位置:
- vsftpd:
/etc/vsftpd.conf - ProFTPD:
/etc/proftpd/proftpd.conf - Pure-FTPd:
/etc/pure-ftpd/
四、安全建议(强烈推荐)
✅ 使用 SFTP 替代 FTP(更安全)
FTP 是明文传输,建议改用 SFTP(基于 SSH):
# 检查 SSH 服务
systemctl status sshd
SFTP 无需额外安装 FTP 服务。
五、常见问题
❓ 更新后无法登录 FTP
检查:
journalctl -u vsftpd -xe
❓ 端口被防火墙拦截
sudo ufw allow 21
# 或
sudo firewall-cmd --add-service=ftp --permanent
sudo firewall-cmd --reload
六、示例:完整更新 vsftpd 流程(Ubuntu)
sudo apt update
sudo apt upgrade vsftpd
sudo systemctl restart vsftpd
sudo systemctl status vsftpd
如果你愿意,可以告诉我:
- Linux 发行版(Ubuntu / CentOS / 其他)
- 使用的 FTP 软件
- 报错信息(如果有)
我可以给你精确到命令级别的更新方案 ✅
