VSFTP在CentOS上的升级方法
导读:VSFTP在CentOS上的升级方法 一、升级前准备 备份关键数据与配置:优先备份 /etc/vsftpd/vsftpd.conf,以及虚拟用户目录(如 /etc/vsftpd/vuser_conf/)、证书目录(如 /etc/vsftp...
VSFTP在CentOS上的升级方法
一、升级前准备
- 备份关键数据与配置:优先备份 /etc/vsftpd/vsftpd.conf,以及虚拟用户目录(如 /etc/vsftpd/vuser_conf/)、证书目录(如 /etc/vsftpd/.sslkey/)等。
- 检查可用更新与仓库:先执行 sudo yum update -y 刷新索引;若仓库中版本偏旧,按需安装 EPEL 再尝试升级。
- 选择升级方式:优先使用 yum 在线升级;仅在仓库无所需版本或需特定功能时,再考虑源码编译。
- 维护窗口与回退方案:选择低峰时段操作,保留旧版可执行文件以便快速回退(如 /usr/sbin/vsftpd 备份)。
二、方法一 使用YUM在线升级(推荐)
- 备份配置:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak - 执行升级:
sudo yum update -y vsftpd - 重启服务:
sudo systemctl restart vsftpd - 验证版本与运行状态:
rpm -q vsftpd
vsftpd -v
systemctl status vsftpd - 回退思路:若出现异常,可先恢复配置,再用 yum 降级到原版本(如 yum downgrade vsftpd-< 原版本号> )。
三、方法二 源码编译升级(仓库无新版本或需定制功能时)
- 安装编译依赖(按需):
sudo yum groupinstall -y “Development Tools”
sudo yum install -y openssl-devel pam-devel libcap-devel tcp_wrappers-devel - 获取并解压源码(示例版本,可按需替换):
wget https://vsftpd.beasts.org/releases/vsftpd-3.0.3.tar.gz
tar -zxvf vsftpd-3.0.3.tar.gz & & cd vsftpd-3.0.3 - 配置与编译安装:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make - 停止旧服务并安装新二进制:
sudo systemctl stop vsftpd
sudo make install - 处理旧二进制与配置:
- 若系统原二进制在 /usr/sbin/vsftpd,可先备份:
sudo mv /usr/sbin/vsftpd /usr/sbin/vsftpd.bak - 新版默认安装到 /usr/local/sbin/vsftpd,建议软链到系统路径:
sudo ln -sf /usr/local/sbin/vsftpd /usr/sbin/vsftpd - 如需使用系统服务单元,确保与现有 systemd 单元(/usr/lib/systemd/system/vsftpd.service)中 ExecStart 路径一致。
- 若系统原二进制在 /usr/sbin/vsftpd,可先备份:
- 启动与验证:
sudo systemctl daemon-reload
sudo systemctl start vsftpd
vsftpd -v & & systemctl status vsftpd - 回退思路:停止服务,恢复二进制与配置,重启服务。
四、升级后的验证与常见问题
- 版本与服务状态:
vsftpd -v
systemctl status vsftpd - 客户端连通性:从客户端连接,验证登录、上传/下载、目录切换是否正常;如使用 TLS/SSL,选择“显式 FTP over TLS”。
- 防火墙与被动端口:若启用被动模式,放行对应端口(示例为 8888–8899/tcp):
sudo firewall-cmd --add-port=8888-8899/tcp --permanent
sudo firewall-cmd --reload - SELinux:若使用家目录或虚拟用户,按需设置布尔值:
sudo setsebool -P ftp_home_dir=1
sudo setsebool -P allow_ftpd_full_access=1 - 配置语法与空格:若出现 500 OOPS: bad bool value 等,检查配置行尾空格并清理:
sed -ir ‘s/[ ]$//g’ /etc/vsftpd/vsftpd.conf
sed -ir 's/[ ]$//g’ /etc/vsftpd/vuser_conf/* - 日志排查:查看 /var/log/vsftpd.log 与服务日志,确认无启动失败或认证错误。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: VSFTP在CentOS上的升级方法
本文地址: https://pptw.com/jishu/756281.html
