搭建 FTP 服务器通常分为三个主要步骤:选择并安装 FTP 服务器软件、配置服务器参数、以及测试连接。
以下是以最常见的 Linux 系统(使用 vsftpd)和 Windows 系统为例的详细指南:
Linux 系统(以 Ubuntu/CentOS 为例)
在 Linux 中,最流行且稳定的 FTP 服务器软件是 vsftpd (Very Secure FTP Daemon)。
安装 vsftpd
Ubuntu/Debian:
sudo apt update sudo apt install vsftpd
CentOS/RHEL:
sudo yum install vsftpd
配置 vsftpd
编辑配置文件 /etc/vsftpd.conf:
sudo nano /etc/vsftpd.conf
关键配置项建议如下:
# 允许本地用户登录 local_enable=YES # 允许写入权限(上传/删除) write_enable=YES # 限制用户在其主目录内(防止访问系统其他目录,提高安全性) chroot_local_user=YES # 允许被动模式连接(解决防火墙/NAT问题) pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100 # 监听 IPv4 listen=YES
创建 FTP 用户
创建一个专门用于 FTP 登录的用户(ftpuser):
sudo adduser ftpuser sudo passwd ftpuser # 设置密码
设置目录权限
确保用户有权限写入其主目录:
sudo chown ftpuser:ftpuser /home/ftpuser
启动服务并设置开机自启
sudo systemctl start vsftpd sudo systemctl enable vsftpd
配置防火墙
允许 FTP 端口(默认 21)和被动模式端口范围:
# Ubuntu (UFW) sudo ufw allow 21/tcp sudo ufw allow 40000:40100/tcp # CentOS (Firewalld) sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=40000-40100/tcp sudo firewall-cmd --reload
Windows 系统
Windows 10/11 专业版和企业版自带 IIS (Internet Information Services) 服务器,其中包含 FTP 服务。
启用 FTP 服务
- 打开 控制面板 > 程序和功能 > 启用或关闭 Windows 功能。
- 找到 Internet Information Services。
- 展开它,勾选 FTP 服务器 > FTP 服务 和 FTP 扩展性。
- 点击确定,等待安装完成。
创建 FTP 站点
- 打开 IIS 管理器(搜索
inetmgr)。 - 右键点击左侧的 网站,选择 添加 FTP 站点。
- 设置站点名称和物理路径(
C:FTPData)。 - 绑定信息:选择 IP 地址(默认所有未分配),端口
21。 - SSL 设置:选择 无 SSL(测试用)或 允许 SSL(生产环境推荐)。
- 身份验证和授权:
- 身份验证:勾选 基本(Basic)。
- 授权:选择 特定用户 或 所有用户,并设置读写权限。
配置防火墙
在 Windows 防火墙中允许入站规则:
- 允许端口
21(TCP)。 - 如果配置了被动模式,还需允许相应的端口范围。
测试连接
使用命令行客户端
Linux/Mac:
ftp <服务器IP地址> # 输入用户名和密码
Windows:
打开命令提示符(CMD):
ftp <服务器IP地址>
使用图形化客户端(推荐)
- FileZilla(免费、跨平台):最流行的 FTP 客户端。
- WinSCP(Windows):适合 Windows 用户,支持 SFTP/SCP。
- FlashFXP(Windows):老牌 FTP 客户端。
在客户端中输入:
- 主机:服务器 IP 地址
- 用户名:你创建的用户名
- 密码:你设置的密码
- 端口:21(默认)
重要安全建议
-
优先使用 SFTP 而非 FTP:
- 标准 FTP 传输数据是明文的,容易被窃听。
- SFTP (SSH File Transfer Protocol) 是加密的,更安全。
- 在 Linux 中,你可以直接使用 SSH 服务(
)来实现 SFTP,无需额外安装 FTP 软件,只需配置sshd
/etc/ssh/sshd_config中的Subsystem sftp即可。
使用被动模式(Passive Mode):
如果服务器在路由器/NAT 后面,必须正确配置被动模式端口范围,并在防火墙上开放这些端口。
-
限制用户权限:
- 使用
chroot将用户锁定在主目录,防止其浏览系统其他文件。
- 使用
-
定期更新软件:
保持 vsftpd 或 IIS 为最新版本,以修复已知漏洞。
| 步骤 | Linux (vsftpd) | Windows (IIS) |
|---|---|---|
| 安装 | apt install vsftpd |
启用 Windows 功能中的 FTP 服务 |
| 配置 | 编辑 /etc/vsftpd.conf |
IIS 管理器中添加 FTP 站点 |
| 用户 | adduser ftpuser |
在 IIS 中设置身份验证 |
| 防火墙 | 开放 21 和被动端口 | 开放 21 和被动端口 |
| 测试 | ftp <IP> 或 FileZilla |
ftp <IP> 或 FileZilla |
如果你是初学者或注重安全,强烈建议使用 SFTP(基于 SSH) 而不是传统 FTP,在 Linux 上,只需确保 SSH 服务运行即可,无需额外配置 FTP 服务器。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/483212.html



