在 CentOS 上部署 FTP 服务器时,推荐使用较新的稳定版本的 CentOS 系统,并搭配主流的 FTP 服务软件(如 vsftpd)。以下是详细的建议:
✅ 推荐的 CentOS 版本
-
CentOS Stream 8 或 CentOS Stream 9
- ✅ 最新、持续更新,适合生产环境(替代传统的 CentOS Linux)
- ✅ 软件包较新,安全性更高
- ✅ 支持现代安全特性(如 SELinux 更完善)
-
CentOS Linux 7(EOL 已接近,不推荐新项目)
- ❌ 已于 2024 年 6 月 30 日停止维护(End of Life)
- ⚠️ 仅建议用于已有系统维护,不推荐用于新部署
🔔 因此,优先选择 CentOS Stream 8 或 9。
✅ 推荐的 FTP 服务器软件:vsftpd
- vsftpd(Very Secure FTP Daemon)是 CentOS 上最推荐的 FTP 服务软件。
- 安全性高、轻量、配置灵活,且与 SELinux 兼容良好。
- 默认包含在 CentOS 的官方仓库中。
安装 vsftpd 示例(以 CentOS Stream 8/9 为例):
# 安装 vsftpd
sudo dnf install vsftpd -y
# 启动并设置开机自启
sudo systemctl enable vsftpd
sudo systemctl start vsftpd
# 查看状态
sudo systemctl status vsftpd
🔐 安全建议
-
禁用匿名访问(除非必要)
anonymous_enable=NO -
启用本地用户登录
local_enable=YES write_enable=YES -
使用 SSL/TLS 加密(推荐)
- 配置
ssl_enable=YES并生成证书,防止密码明文传输。
- 配置
-
配合防火墙(firewalld)开放端口
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload -
SELinux 设置
- 如需允许写入,运行:
sudo setsebool -P ftpd_write_on_any on - 或根据实际目录调整上下文。
- 如需允许写入,运行:
❌ 不推荐的方案
- 使用
proftpd或pure-ftpd:虽然功能强大,但配置复杂,安全性依赖配置。 - 在 CentOS 6/7 上部署新服务:已过时,存在安全风险。
📝 总结:最佳实践
| 项目 | 推荐选择 |
|---|---|
| 操作系统 | CentOS Stream 8 或 9 |
| FTP 软件 | vsftpd |
| 加密传输 | 启用 TLS/SSL |
| 用户认证 | 本地用户 + 强密码 / SFTP 更佳 |
| 替代方案 | 考虑 SFTP(基于 SSH) 更安全 |
💡 提示:如果只是为了文件传输,强烈建议使用 SFTP(OpenSSH 自带)代替传统 FTP,更安全、更简单。
如有具体需求(如虚拟用户、多用户隔离、Web 管理等),可进一步定制 vsftpd 或考虑 Pure-FTPd + MySQL 方案。
需要我提供完整的 vsftpd 配置示例吗?
ECLOUD博客