温馨提示×

centos ftpserver怎样迁移

小樊
45
2026-10-11 21:45:12
栏目: 智能运维

在 CentOS 上迁移 FTP 服务器(ftpserver),通常目标是从一台 CentOS 服务器把 FTP 服务、用户、数据和配置迁移到另一台 CentOS 服务器。下面以 vsftpd(最常见的 FTP 服务) 为例说明完整迁移步骤。


一、确认当前 FTP 服务类型

在源服务器执行:

rpm -qa | grep vsftpd
# 或
systemctl status vsftpd

如果是 vsftpd,按下面步骤;如果是 proftpd / pure-ftpd,思路类似。


二、迁移 FTP 配置文件

1. 备份配置

cp -a /etc/vsftpd /etc/vsftpd.bak
tar czf vsftpd-conf.tar.gz /etc/vsftpd

2. 传到目标服务器

scp vsftpd-conf.tar.gz root@目标IP:/root/

三、迁移 FTP 用户和数据

1. FTP 数据目录

常见目录:

  • /var/ftp
  • /home/ftpuser
  • 自定义目录(看 vsftpd.conf 中 local_root)

打包数据:

tar czf ftpdata.tar.gz /var/ftp
scp ftpdata.tar.gz root@目标IP:/root/

2. 系统用户(本地用户模式)

如果 FTP 使用系统用户:

getent passwd | grep ftp

迁移用户:

  • 复制 /etc/passwd、/etc/shadow、/etc/group 中相关行
  • 或在新服务器用 useradd 重建并同步密码

⚠ 密码不能直接复制,建议重置或导出 shadow(不推荐)

3. 虚拟用户(常见企业方案)

如果使用 pam + db_load 虚拟用户:

/etc/vsftpd/vsftpd_virtual_users.db
/etc/pam.d/vsftpd

一起打包迁移即可。


四、目标服务器安装并恢复

1. 安装 vsftpd

yum install -y vsftpd

2. 恢复配置

tar xzf vsftpd-conf.tar.gz -C /

3. 恢复数据

tar xzf ftpdata.tar.gz -C /
chown -R ftpuser:ftpuser /var/ftp

4. 启动服务

systemctl enable vsftpd
systemctl start vsftpd

五、防火墙与 SELinux

防火墙

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

SELinux

setsebool -P ftp_home_dir on
restorecon -Rv /var/ftp

六、验证迁移

ftp localhost
# 或
ftp 目标IP

七、可选:使用 FTPS / SFTP

  • FTPS:检查证书 /etc/vsftpd/*.pem
  • SFTP:基于 SSH,只需迁移用户和 /home

如果你能告诉我:

  • FTP 类型(vsftpd / proftpd / pure-ftpd)
  • 用户类型(系统用户 / 虚拟用户)
  • 是否使用 FTPS

我可以给你更精确的迁移命令。

0 踩