温馨提示×

centos里vsftp更新与升级步骤

小樊
33
2025-10-21 18:31:45
栏目: 智能运维

CentOS系统vsftpd更新与升级步骤

一、升级前准备工作

  1. 备份关键数据
    升级前务必备份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 # 备份用户会话及上传文件数据 
  2. 检查当前版本
    通过以下命令确认当前vsftpd版本,便于后续验证升级结果:

    vsftpd --version 

    输出示例:vsftpd: version 3.0.2

  3. 更新系统软件包
    确保系统基础软件包为最新状态,避免依赖冲突:

    sudo yum update -y 

二、使用YUM包管理器升级(推荐)

YUM是CentOS默认的包管理工具,可自动解决依赖关系,操作简便。

  1. 升级vsftpd
    执行以下命令升级vsftpd至仓库最新版本:

    sudo yum update vsftpd -y 

    若需安装特定版本(如3.0.2),可使用:

    sudo yum install vsftpd-3.0.2 -y 
  2. 重启服务并验证
    升级完成后,重启vsftpd服务使新版本生效:

    sudo systemctl restart vsftpd 

    验证版本:

    vsftpd --version # 确认输出版本已更新 sudo systemctl status vsftpd # 检查服务运行状态(应显示“active (running)”) 

三、手动编译安装升级(YUM无最新版本时)

若YUM仓库中没有所需版本,可通过源码编译安装。

  1. 下载并解压源码包
    访问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 
  2. 安装编译依赖
    编译前需安装必要依赖包,避免编译失败:

    sudo yum install openssl-devel pam-devel libcap-devel tcp_wrappers-devel -y 
  3. 卸载旧版本
    卸载系统自带的旧版本vsftpd(避免残留文件冲突):

    sudo rpm -e $(rpm -qa | grep vsftpd) 
  4. 编译并安装
    执行以下命令编译安装:

    ./configure make sudo make install 
  5. 恢复配置与服务

    • 将备份的配置文件复制回原路径:
      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 
    • 创建systemd服务文件(便于用systemctl管理):
      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 
    • 重载systemd配置并启动服务:
      sudo systemctl daemon-reload sudo systemctl start vsftpd sudo systemctl enable vsftpd # 设置开机自启 
  6. 验证升级结果
    检查vsftpd版本及服务状态:

    /usr/local/sbin/vsftpd -v # 确认版本已更新 sudo systemctl status vsftpd # 检查服务是否运行正常 

四、注意事项

  • 依赖问题:手动编译时需确保所有依赖包已安装,否则编译会失败。
  • 配置兼容性:新版本可能调整配置项,升级后需对比新旧配置文件(如diff /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf),调整不兼容的参数。
  • 防火墙/SELinux:若服务器开启了防火墙或SELinux,需放行FTP端口(默认21)及被动模式端口范围(如50000-51000),并调整SELinux策略允许FTP访问:
    sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload sudo setsebool -P ftpd_full_access on 
  • 测试连接:升级后通过FTP客户端(如ftp localhost或FileZilla)测试登录、上传/下载功能,确保服务正常。

0