在 Ubuntu 上“迁移 FTP Server 文件”通常有三种常见场景,下面分别说明,你可对号入座。
适用于:换服务器 / 重装系统 / 迁移目录
常见 FTP 服务器:
/home/ftpuser 或 /srv/ftpDefaultRoot 或 -u 参数查看 vsftpd 配置:
grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd.conf
tar czvf ftpdata.tar.gz /home/ftpuser
scp ftpdata.tar.gz user@newserver:/tmp/
tar xzvf /tmp/ftpdata.tar.gz -C /
⚠️ 注意权限:
chown -R ftpuser:ftpuser /home/ftpuser
适用于:保留用户、密码、权限
/etc/passwd、/etc/shadow(不推荐手动)# 旧服务器
getent shadow ftpuser
新服务器重建用户并设密
迁移:
/etc/vsftpd/vsftpd_user.db
/etc/pam.d/vsftpd
/etc/vsftpd.conf
/etc/pure-ftpd/
/var/run/pure-ftpd/
适用于:换机器
apt list --installed | grep ftp
systemctl restart vsftpd
如果是大量文件迁移,建议:
rsync(保留权限/时间)rsync -avz /home/ftpuser/ user@newserver:/home/ftpuser/
❌ 权限不对 → 无法登录
❌ SELinux/AppArmor 限制
❌ 被动模式端口未开放
❌ 虚拟用户数据库未同步
如果你能告诉我:
我可以直接给你精确命令。