在 Ubuntu 上迁移 vsftpd(vsftp) 通常是指把 FTP 服务及其用户、配置、数据 从一台服务器迁移到另一台服务器。下面给你一套稳妥可用的迁移步骤。
确认以下信息:
dpkg -l | grep vsftpd
cat /etc/vsftpd.conf
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
如使用了额外配置目录:
ls /etc/vsftpd/
grep ftp /etc/passwd
grep ftp /etc/shadow
grep ftp /etc/group
useradd -m ftpuser
passwd ftpuser
⚠️ 更推荐直接同步 /etc/passwd、/etc/shadow、/etc/group(仅 FTP 用户)
ls /etc/vsftpd/
# 常见文件
# virtual_users.txt
# virtual_users.db
scp /etc/vsftpd/* user@newserver:/etc/vsftpd/
apt install vsftpd libpam-pwdfile db-util
tar czf ftpdata.tar.gz /srv/ftp
scp ftpdata.tar.gz user@newserver:/tmp
tar xzf ftpdata.tar.gz -C /
chown -R ftpuser:ftpuser /srv/ftp
apt update
apt install vsftpd
cp /etc/vsftpd.conf.bak /etc/vsftpd.conf
cat /etc/pam.d/vsftpd
示例:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
systemctl restart vsftpd
systemctl enable vsftpd
测试连接:
ftp localhost
或:
lftp ftpuser@localhost
chmod 600)pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
并放行防火墙。
ufw allow 21
ufw allow 30000:31000/tcp
配置 /etc/vsftpd.conf
用户(系统 or 虚拟)
数据目录(/srv/ftp)
PAM(虚拟用户)
防火墙
如果你能告诉我:
我可以直接给你针对你环境的命令清单。