更新前务必备份现有vsftpd配置文件,防止升级失败时可快速恢复。执行以下命令:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
确保系统所有软件包为最新状态,避免依赖冲突。运行:
sudo yum update -y
若默认仓库中没有最新版vsftpd,可通过EPEL(Extra Packages for Enterprise Linux)仓库获取。执行:
sudo yum install epel-release -y
通过YUM包管理器更新vsftpd是最安全、便捷的方法,能自动处理依赖关系:
sudo yum update vsftpd -y
更新完成后,重启服务以应用新版本:
sudo systemctl restart vsftpd
sudo systemctl status vsftpd
若显示“active (running)”,则服务正常。vsftpd -v
确认版本号已更新至目标版本。若YUM仓库中没有所需版本,可手动下载源码编译安装:
sudo systemctl stop vsftpd # 停止服务
sudo mv /usr/sbin/vsftpd /usr/sbin/vsftpd.old # 备份二进制文件
vsftpd.beasts.org/releases/)下载最新版,或使用wget:wget https://vsftpd.beasts.org/releases/vsftpd-3.0.5.tar.gz
tar -zxvf vsftpd-3.0.5.tar.gz
cd vsftpd-3.0.5
sudo yum install gcc openssl-devel pam-devel libcap-devel tcp_wrappers-devel -y
./configure
make
sudo make install
sudo cp /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf
sudo systemctl restart vsftpd
nobody用户存在(id nobody检查),并创建/usr/share/empty目录(用于FTP根目录)。firewalld,需允许FTP流量:sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
setsebool -P ftpd_full_access on)。以上步骤覆盖了YUM自动更新和手动编译安装两种场景,可根据实际情况选择。更新前务必备份数据,避免意外损失。