迁移 Debian 上的 FTP 服务器(如 vsftpd / proftpd / pure-ftpd)通常包括:配置文件、用户与权限、数据目录、以及(可选)IP/防火墙设置。下面以最常见的 vsftpd 为例,其他服务思路类似。
dpkg -l | grep -E "vsftpd|proftpd|pure-ftpd"
sudo systemctl stop vsftpd
sudo cp -a /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo tar czf vsftpd-etc.tar.gz /etc/vsftpd.conf /etc/vsftpd*
如果使用的是系统用户:
getent passwd | grep ftp
检查 FTP 根目录(如 /srv/ftp 或 /home/ftpuser)
打包数据:
sudo tar czf ftpdata.tar.gz /srv/ftp
sudo getent shadow | grep ftpuser
sudo tar czf ftpusers.tar.gz /etc/passwd /etc/shadow /etc/group
(或仅导出相关用户)
sudo apt update
sudo apt install vsftpd
sudo cp vsftpd.conf /etc/vsftpd.conf
sudo systemctl restart vsftpd
sudo tar xzf ftpdata.tar.gz -C /
sudo chown -R ftpuser:ftpuser /srv/ftp
sudo useradd -m ftpuser
sudo passwd ftpuser
(或从备份中恢复 /etc/passwd、/etc/shadow)
sudo chmod 755 /srv/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 localhost
# 或
ftp new_server_ip
或使用:
lftp ftp://user@host
/etc/proftpd/proftpd.confftpd 虚拟用户/etc/pure-ftpd/pure-pw 命令pure-pw mkdb
✅ 登录失败
/etc/shells✅ 被动模式连不上
pasv_address)✅ SELinux
如果你能告诉我:
我可以给你更精确的迁移命令。