CentOS系统vsftpd更新与升级步骤
备份关键数据
升级前务必备份vsftpd配置文件及用户数据,防止操作失误导致数据丢失。常用备份命令:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak # 备份主配置文件 sudo cp -r /var/ftp /var/ftp.bak # 备份匿名用户数据目录(若有) sudo cp -r /var/lib/vsftpd /var/lib/vsftpd.bak # 备份用户会话及上传文件数据
检查当前版本
通过以下命令确认当前vsftpd版本,便于后续验证升级结果:
vsftpd --version
输出示例:vsftpd: version 3.0.2
。
更新系统软件包
确保系统基础软件包为最新状态,避免依赖冲突:
sudo yum update -y
YUM是CentOS默认的包管理工具,可自动解决依赖关系,操作简便。
升级vsftpd
执行以下命令升级vsftpd至仓库最新版本:
sudo yum update vsftpd -y
若需安装特定版本(如3.0.2),可使用:
sudo yum install vsftpd-3.0.2 -y
重启服务并验证
升级完成后,重启vsftpd服务使新版本生效:
sudo systemctl restart vsftpd
验证版本:
vsftpd --version # 确认输出版本已更新 sudo systemctl status vsftpd # 检查服务运行状态(应显示“active (running)”)
若YUM仓库中没有所需版本,可通过源码编译安装。
下载并解压源码包
访问vsftpd官方网站(vsftpd.beasts.org)下载最新稳定版,或使用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 openssl-devel pam-devel libcap-devel tcp_wrappers-devel -y
卸载旧版本
卸载系统自带的旧版本vsftpd(避免残留文件冲突):
sudo rpm -e $(rpm -qa | grep vsftpd)
编译并安装
执行以下命令编译安装:
./configure make sudo make install
恢复配置与服务
sudo cp -p /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf
/usr/local/sbin/vsftpd
,需修改配置文件中的user_list_file
路径(若有):sudo vi /etc/vsftpd/vsftpd.conf # 添加或修改:user_list_file=/etc/vsftpd/user_list
sudo vi /etc/systemd/system/vsftpd.service
内容如下:[Unit] Description=vsftpd FTP server After=network.target [Service] Type=simple ExecStart=/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf ExecStop=/bin/kill -TERM $MAINPID ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl start vsftpd sudo systemctl enable vsftpd # 设置开机自启
验证升级结果
检查vsftpd版本及服务状态:
/usr/local/sbin/vsftpd -v # 确认版本已更新 sudo systemctl status vsftpd # 检查服务是否运行正常
diff /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf
),调整不兼容的参数。sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload sudo setsebool -P ftpd_full_access on
ftp localhost
或FileZilla)测试登录、上传/下载功能,确保服务正常。