更新前务必备份配置文件,防止更新导致配置丢失或冲突:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
使用yum包管理器更新VSFTP至最新版本(适用于CentOS官方仓库有更新的情况):
sudo yum update vsftpd -y
若官方仓库无最新版本,可手动下载源码编译安装(参考后续“手动更新”部分)。
更新完成后,重启服务以应用新版本:
sudo systemctl restart vsftpd
验证服务状态及版本:
sudo systemctl status vsftpd # 确认服务运行正常
vsftpd -v # 查看当前版本
更新后需确认/etc/vsftpd/vsftpd.conf中的配置项与新版本兼容,重点关注以下关键设置:
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES # 允许chroot目录可写(若需用户上传文件)
write_enable=YES # 允许写操作
pasv_enable=YES
pasv_min_port=10000 # 被动模式最小端口
pasv_max_port=20000 # 被动模式最大端口
sudo setsebool -P ftpd_disable_trans 1
确保防火墙允许FTP流量(包括被动模式端口范围):
# 若使用firewalld
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=10000-20000/tcp # 被动模式端口范围
sudo firewall-cmd --reload
# 若使用iptables(旧版CentOS)
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 10000:20000 -j ACCEPT
sudo service iptables save
若yum仓库无最新版本,可通过源码编译安装:
# 备份旧版本配置文件
sudo cp /usr/sbin/vsftpd /usr/sbin/vsftpd.bak
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
# 下载并编译安装
wget https://vsftpd.beasts.org/releases/vsftpd-latest.tar.gz
tar -zxvf vsftpd-latest.tar.gz
cd vsftpd-*/
./configure
make
sudo make install
# 替换旧版本二进制文件
sudo mv /usr/local/sbin/vsftpd /usr/sbin/vsftpd
# 重启服务
sudo systemctl restart vsftpd
使用FTP客户端(如FileZilla)连接服务器,验证更新后的配置是否生效:
通过以上步骤,可确保CentOS更新后VSFTP服务的正常运行及安全性。更新前备份、更新后检查配置兼容性和防火墙设置是关键环节。