Ubuntu 上“FTP server 无法启动”是一个比较常见但原因很多的问题。下面按最常见原因 → 排查方法 → 解决思路给你系统梳理一下。
Ubuntu 常见 FTP server 有:
先确认:
systemctl status vsftpd
# 或
systemctl status proftpd
which vsftpd
如果没有:
sudo apt update
sudo apt install vsftpd
vsftpd 对配置非常敏感。
查看错误:
sudo vsftpd /etc/vsftpd.conf
或
journalctl -xe
典型错误配置:
✅ 建议先恢复默认配置测试:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo apt install --reinstall vsftpd
sudo netstat -tulnp | grep :21
或
sudo lsof -i:21
如果有其他程序占用:
sudo ufw status
允许 FTP:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp # 被动模式端口
查看:
sudo aa-status
如果是 AppArmor 限制:
sudo aa-complain /usr/sbin/vsftpd
FTP 用户家目录不能过于开放:
❌ 错误:
drwxrwxrwx
✅ 正确:
drwxr-xr-x
修复:
sudo chmod 755 /home/ftpuser
云服务器尤其常见。
在 /etc/vsftpd.conf 中加:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=你的公网IP
不要用:
vsftpd &
正确:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
systemctl status vsftpd
journalctl -xe
sudo vsftpd /etc/vsftpd.conf
sudo ufw status
netstat -tulnp | grep 21
你可以直接把下面信息发我:
journalctl 或 systemctl status)我可以直接帮你定位到具体哪一行配置有问题。