温馨提示×

怎样迁移debian ftpserver文件

小樊
41
2026-09-12 17:23:50
栏目: 智能运维

迁移 Debian 上的 FTP 服务器文件,通常包含用户数据(FTP 目录文件)FTP 服务配置、以及(如有)用户账户与权限。下面按常见场景给你一套清晰做法。


一、确认你用的 FTP 服务类型

Debian 常见 FTP 服务:

  • vsftpd(最常见)
  • proftpd
  • pure-ftpd

先确认:

dpkg -l | grep -E "vsftpd|proftpd|pure-ftpd"

二、迁移 FTP 文件数据(核心)

1. 找到 FTP 根目录

常见位置:

  • /srv/ftp
  • /home/ftp
  • /var/www/ftp
  • 或用户家目录 /home/username

查看配置确认:

# vsftpd
cat /etc/vsftpd.conf | grep -E "local_root|anon_root|chroot"

# proftpd
cat /etc/proftpd/proftpd.conf | grep -i "DefaultRoot"

2. 打包原服务器文件

tar czpf ftpdata.tar.gz /srv/ftp

3. 传到新服务器

scp ftpdata.tar.gz user@new-server:/tmp/

4. 新服务器解压

tar xzpf /tmp/ftpdata.tar.gz -C /

⚠️ 注意保持权限:

chown -R ftpuser:ftpgroup /srv/ftp

三、迁移 FTP 服务配置

vsftpd 示例

原服务器:

/etc/vsftpd.conf
/etc/vsftpd/

复制并覆盖到新服务器:

scp /etc/vsftpd.conf new-server:/etc/

新服务器:

systemctl restart vsftpd

四、迁移 FTP 用户(如本地用户)

1. 系统用户方式(推荐)

迁移:

# 原服务器
getent passwd ftpuser >> /etc/passwd
getent shadow ftpuser >> /etc/shadow
getent group ftpgroup >> /etc/group

或整体迁移(更安全):

tar czpf ftpusers.tar.gz /etc/passwd /etc/shadow /etc/group

⚠️ 注意 UID/GID 一致性,否则权限会乱。

2. 虚拟用户(vsftpd + PAM)

迁移:

  • /etc/pam.d/vsftpd
  • 虚拟用户 db 文件(如 /etc/vsftpd/virtual_users.db
  • 用户配置目录

五、防火墙 & SELinux(如有)

防火墙

ufw allow 20,21/tcp
ufw allow 40000:50000/tcp   # 被动模式

被动模式示例(vsftpd)

pasv_min_port=40000
pasv_max_port=50000

六、验证迁移是否成功

ftp localhost
# 或
lftp ftp://user@localhost

检查:

  • 能登录
  • 文件可读写
  • 权限正确
  • 被动模式可用

七、推荐迁移顺序(总结)

  1. 停 FTP 服务
  2. 打包数据 + 配置 + 用户
  3. 传输到新服务器
  4. 恢复并修正权限
  5. 启动服务并测试

如果你告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 本地用户还是虚拟用户
  • 是否跨机房 / 同机房

我可以给你精确命令版迁移方案

0