在 Debian 上迁移 vsftpd(FTP 服务)通常涉及配置文件、用户数据、用户账号、权限和日志的迁移。下面按最常见场景给你一个完整、可操作的迁移方案。
dpkg -l | grep vsftpd
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
一般还会涉及:
/etc/vsftpd/
/etc/pam.d/vsftpd
grep -E "local_root|anon_root|user_sub_token" /etc/vsftpd.conf
常见目录:
/home/*
/srv/ftp
/var/www
/etc/vsftpd.conf/var/log/vsftpd.log# 源服务器
getent passwd | grep ftp
导出用户:
grep '/bin/bash' /etc/passwd > users.txt
grep 'ftpuser' /etc/shadow >> shadows.txt
⚠️ 不建议直接拷贝 /etc/shadow,推荐:
useradd -m ftpuser
passwd ftpuser
常见文件:
/etc/vsftpd/virtual_users.txt
/etc/vsftpd/virtual_users.db
/etc/pam.d/vsftpd
迁移:
scp /etc/vsftpd/virtual_users.* target:/etc/vsftpd/
scp /etc/pam.d/vsftpd target:/etc/pam.d/
tar czvf ftpdata.tar.gz /home/ftpuser
或:
rsync -avz /srv/ftp/ root@newserver:/srv/ftp/
rsync -avz --numeric-ids /home/ftpuser root@newserver:/home/
apt update
apt install vsftpd
cp vsftpd.conf /etc/vsftpd.conf
apt install db-util
db_load -T -t hash -f virtual_users.txt virtual_users.db
systemctl restart vsftpd
systemctl enable vsftpd
grep ssl /etc/vsftpd.conf
常见:
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key
迁移证书:
scp /etc/ssl/certs/vsftpd.pem target:/etc/ssl/certs/
scp /etc/ssl/private/vsftpd.key target:/etc/ssl/private/
ftp localhost
ftp newserver_ip
tail -f /var/log/vsftpd.log
setsebool -P ftp_home_dir on # 如启用 SELinux
chmod 755 /home/ftpuser
✅ 最稳妥方案
rsync + 配置文件 + 用户手动重建
✅ 虚拟化/容器
如果你愿意,可以告诉我:
我可以给你定制迁移命令脚本。