你说的“迁居”一般就是指 把 Ubuntu 上的 FTP 服务器迁移到另一台机器(或另一块磁盘/目录)。下面按最常见场景给你一个完整思路,假设你是用的 vsftpd(Ubuntu 最常见的 FTP 服务)。
systemctl status vsftpd
# 或
ps aux | grep ftp
常见 FTP 服务:
vsftpd(最常见)proftpdpure-ftpd下面以 vsftpd 为例。
sudo systemctl stop vsftpd
sudo cp -r /etc/vsftpd /etc/vsftpd.bak
# 或
sudo tar czf vsftpd-conf.tar.gz /etc/vsftpd.conf
FTP 用户数据通常在这几个地方:
/home/ftpuser/srv/ftplocal_root)打包:
sudo tar czf ftpdata.tar.gz /home/ftpuser
sudo getent passwd | grep ftp
sudo getent shadow | grep ftp
或用:
sudo tar czf ftpusers.tar.gz /etc/passwd /etc/shadow /etc/group
scp vsftpd-conf.tar.gz ftpdata.tar.gz user@newserver:/tmp
sudo apt update
sudo apt install vsftpd
sudo cp /tmp/vsftpd.conf /etc/vsftpd.conf
# 或解压备份
sudo tar xzf /tmp/ftpdata.tar.gz -C /
sudo useradd ftpuser
sudo passwd ftpuser
# 或直接恢复 passwd/shadow(不推荐新手)
sudo chown -R ftpuser:ftpuser /home/ftpuser
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
测试:
ftp localhost
# 或
ftp newserver_ip
/etc/vsftpd.conflocal_enable=YESwrite_enable=YESpasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
并开放防火墙:
sudo ufw allow 30000:31000/tcp
不是换机器,只是迁数据:
sudo systemctl stop vsftpd
sudo mv /home/ftpuser /data/ftpuser
# 修改 vsftpd.conf
local_root=/data/ftpuser
sudo systemctl start vsftpd
如果你能告诉我:
我可以直接给你精准命令版迁移方案。