售前咨询400-838-0503

如何搭建Linux云服务器的FTP服务?

发布:2025-04-03 19:21

搜索全部帮助分类的文档

从零开始:手把手教你搭建Linux云服务器的FTP服务

在云计算时代,Linux云服务器凭借其稳定性与高性价比成为众多开发者的首选。本文将详细介绍如何在主流Linux发行版上快速搭建安全可靠的FTP服务,包含CentOS、Ubuntu系统的完整配置流程,以及常见问题的解决方案。

一、前期准备工作

1. 服务器要求:至少1核CPU/1GB内存/20GB存储空间
2. 系统选择:推荐CentOS 7+或Ubuntu 18.04+
3. 网络配置:确保开放21端口(控制连接)和被动模式端口范围(默认20-21)
4. 安全建议:建议先配置SSH密钥登录并禁用root直接登录

📌 云服务器特别注意: 阿里云/腾讯云等平台需在安全组规则中额外放行FTP相关端口

二、详细安装步骤(以vsftpd为例)

▍CentOS系统安装

# 安装vsftpd
sudo yum install vsftpd -y

# 启动服务并设置开机自启
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

▍Ubuntu系统安装

sudo apt update
sudo apt install vsftpd -y
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

三、关键配置详解

编辑配置文件 /etc/vsftpd.conf 需修改的核心参数:

参数 推荐值 说明
anonymous_enable NO 禁用匿名登录
local_enable YES 允许本地用户登录
write_enable YES 开启写权限
chroot_local_user YES 限制用户在主目录

💡 高级安全配置建议:
1. 修改默认端口(修改listen_port参数)
2. 启用SSL/TLS加密(需配置ssl_enable=YES)
3. 使用虚拟用户而非系统账号

四、防火墙配置

▍Firewalld(CentOS)

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --reload

▍UFW(Ubuntu)

sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp  # 被动模式端口范围
sudo ufw enable

五、用户权限管理

创建专用FTP用户(示例创建webftp用户):

sudo useradd -d /var/www/html -s /sbin/nologin webftp
sudo passwd webftp
sudo chown -R webftp:webftp /var/www/html
sudo chmod 750 /var/www/html

如需允许用户上传文件:

sudo chmod 770 /var/www/html/upload_dir

六、客户端连接测试

推荐使用FileZilla客户端进行测试,连接时注意:

  1. 协议选择"FTP"或"SFTP"
  2. 加密方式建议选择"显式FTP over TLS"
  3. 被动模式需确保服务器端pasv_min_port/pasv_max_port已正确配置

七、常见问题排查

Q: 连接超时怎么办?
A: 检查安全组规则/防火墙设置,使用telnet 服务器IP 21测试端口连通性

Q: 530 Login incorrect错误?
A: 检查/etc/vsftpd/user_list和/etc/vsftpd/chroot_list文件配置

Q: 被动模式无法传输文件?
A: 确认pasv_address设置为公网IP,并开放足够的被动端口范围

通过上述步骤,您已成功在Linux云服务器上搭建了安全的FTP服务。建议定期检查日志文件/var/log/vsftpd.log,并考虑使用更安全的SFTP协议(基于SSH)作为长期解决方案。对于生产环境,建议配合Fail2ban等工具防止暴力破解。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单