温馨提示×

怎样迁移debian ftpserver

小樊
42
2026-09-18 23:12:08
栏目: 智能运维

迁移 Debian 上的 FTP 服务器(如 vsftpd / proftpd / pure-ftpd)通常包括:配置文件、用户与权限、数据目录、以及(可选)IP/防火墙设置。下面以最常见的 vsftpd 为例,其他服务思路类似。


一、迁移前准备(旧服务器)

1. 确认 FTP 服务类型

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

2. 停止 FTP 服务

sudo systemctl stop vsftpd

3. 备份配置文件

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

4. 备份用户数据

如果使用的是系统用户:

getent passwd | grep ftp

检查 FTP 根目录(如 /srv/ftp/home/ftpuser

打包数据:

sudo tar czf ftpdata.tar.gz /srv/ftp

5. 备份用户(如本地用户)

sudo getent shadow | grep ftpuser
sudo tar czf ftpusers.tar.gz /etc/passwd /etc/shadow /etc/group

(或仅导出相关用户)


二、在新 Debian 服务器上恢复

1. 安装 FTP 服务

sudo apt update
sudo apt install vsftpd

2. 恢复配置文件

sudo cp vsftpd.conf /etc/vsftpd.conf
sudo systemctl restart vsftpd

3. 恢复数据目录

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

4. 恢复用户(如需要)

sudo useradd -m ftpuser
sudo passwd ftpuser

(或从备份中恢复 /etc/passwd/etc/shadow

5. 设置权限

sudo chmod 755 /srv/ftp

三、防火墙与端口

开放 FTP 端口

sudo ufw allow 21/tcp
sudo ufw allow 20/tcp   # 主动模式
sudo ufw allow 30000:31000/tcp  # 被动模式

vsftpd.conf 中需配置:

pasv_min_port=30000
pasv_max_port=31000

四、测试 FTP 服务

ftp localhost
# 或
ftp new_server_ip

或使用:

lftp ftp://user@host

五、ProFTPD / Pure-FTPd 简要说明

ProFTPD

  • 配置:/etc/proftpd/proftpd.conf
  • 用户:系统用户或 ftpd 虚拟用户
  • 迁移:配置 + 数据 + 用户

Pure-FTPd

  • 配置:/etc/pure-ftpd/
  • 虚拟用户:pure-pw 命令
  • 迁移:
pure-pw mkdb

六、常见问题

登录失败

  • 检查 /etc/shells
  • 检查用户家目录权限

被动模式连不上

  • 防火墙未开放被动端口
  • 云服务器需配置公网 IP(pasv_address

SELinux

  • Debian 默认无 SELinux

如果你能告诉我:

  • 使用的 FTP 软件(vsftpd / proftpd / pure-ftpd)
  • 是否使用虚拟用户
  • 是否在同一内网或云服务器

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

0