在 Linux 上开启 FTP 服务,最常用、最推荐的方式是使用 vsftpd(Very Secure FTP Daemon)。下面我按常见发行版 + 完整步骤给你说明,同时也会提到安全建议。
yum install -y vsftpd
sudo apt update
sudo apt install -y vsftpd
# 启动服务
systemctl start vsftpd
# 设置开机自启
systemctl enable vsftpd
# 查看状态
systemctl status vsftpd
看到 active (running) 即表示成功。
配置文件路径:
/etc/vsftpd/vsftpd.conf # CentOS
/etc/vsftpd.conf # Ubuntu
编辑配置文件:
vim /etc/vsftpd/vsftpd.conf
建议开启以下选项:
# 允许本地用户登录
local_enable=YES
# 允许上传
write_enable=YES
# 禁止匿名登录(安全)
anonymous_enable=NO
# 限制用户只能访问自己的家目录(推荐)
chroot_local_user=YES
# 允许 chroot 目录可写(新版 vsftpd 必须)
allow_writeable_chroot=YES
保存后重启:
systemctl restart vsftpd
如果你不想用 root 登录 FTP:
useradd ftpuser
passwd ftpuser
设置家目录(可选):
usermod -d /data/ftp ftpuser
FTP 使用:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
ufw allow 21/tcp
ufw reload
如果连接失败,可能是 SELinux 限制:
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
ftp 服务器IP
✅ 生产环境强烈建议:
| 协议 | 安全性 | 推荐 |
|---|---|---|
| FTP | 明文 | ❌ |
| FTPS | 加密 | ✅ |
| SFTP | 加密 | ✅✅ |
write_enable=YES如果你愿意,可以告诉我:
我可以帮你给出最合适、最安全的配置方案。