重要提示:安全警告
Windows Server 2003 已于 2025年7月14日 停止所有支持,包括安全更新,将其连接到互联网或任何不信任的网络将带来极高的安全风险,强烈建议您仅在完全隔离的内部网络环境中使用,并仅用于临时、非关键任务。

第一步:安装 FTP 服务
默认情况下,Windows Server 2003 不会自动安装 FTP 服务,您需要手动添加。
-
打开“管理您的服务器”
- 点击“开始” -> “管理您的服务器”。(如果找不到,可以在“开始” -> “运行”中输入
manageyourserver并回车)。
- 点击“开始” -> “管理您的服务器”。(如果找不到,可以在“开始” -> “运行”中输入
-
添加角色或功能
在右侧的“区域,点击“添加或删除角色”。
(图片来源网络,侵删) -
进入“配置您的服务器向导”
此时会弹出“配置您的服务器向导”窗口,点击“下一步”。
-
选择服务器角色
- 在“服务器角色”列表中,向下滚动,找到并勾选 “文件服务器”。
- 点击“下一步”。
-
选择组件
(图片来源网络,侵删)- 向导会提示您安装文件服务器所需的一些默认组件,在“选择总结”页面,点击“详细信息”按钮。
-
添加 FTP 服务
- 在弹出的“文件服务器”详细信息窗口中,切换到 “FTP 服务” 选项卡。
- 勾选 “文件传输协议 (FTP) 服务”。
- 点击“确定”。
-
完成安装
- 返回到“选择总结”页面,您会看到“文件服务器”角色下包含了“FTP 服务”,点击“下一步”。
- 向导会自动完成安装过程,完成后,点击“完成”。
FTP 服务已经成功安装,我们需要进行配置。
第二步:配置 FTP 站点
FTP 服务安装后,会自动创建一个默认的 FTP 站点,我们将对这个默认站点进行配置,或者创建一个新的站点。
配置默认 FTP 站点
-
打开 IIS 管理器
- 点击“开始” -> “管理工具” -> “Internet 信息服务 (IIS) 管理器”。
-
找到默认 FTP 站点
- 在 IIS 管理器的左侧控制台树中,展开您的服务器名称,然后展开 “FTP 站点”,您会看到名为 “默认 FTP 站点” 的项目。
-
配置站点属性
- 右键点击“默认 FTP 站点”,选择 “属性”,这是配置 FTP 服务器的核心步骤。
- 您会看到多个选项卡,我们将逐一进行关键配置。
关键属性配置
FTP 站点 选项卡
- 描述: 给站点起一个有意义的名字,"公司文件共享 FTP"。
- IP 地址: 如果您的服务器有多个网卡,请选择 FTP 服务应该监听的 IP 地址,如果不确定,选择 “全部未分配”。
- TCP 端口: FTP 默认使用 21 端口,通常无需修改。
- 连接: 可以设置连接数限制,默认为“不受限制”。
- 启用日志记录: 建议启用,便于排查问题。
安全账户 选项卡
- 允许匿名连接: 这是最关键的选项之一。
- 如果允许匿名访问:勾选此项,任何人都可以使用匿名用户(通常是
IUSR_计算机名)登录,无需密码,适合公开下载文件的场景。 - 如果需要用户名和密码登录:取消勾选此项,只有您服务器上有效的用户账户才能登录。
- 如果允许匿名访问:勾选此项,任何人都可以使用匿名用户(通常是
- 允许 IIS 控制密码: 通常保持默认勾选状态。
- **隔离用户:这是一个非常重要的安全功能。
- 勾选此项:可以强制每个 FTP 用户只能访问其自己主目录下的文件夹,无法访问其他用户的文件,这是实现用户隔离的最佳实践。
- 如何配置隔离用户:勾选后,系统会提示您创建一个目录结构,您需要在 FTP 根目录(如
C:\inetpub\ftproot)下创建一个名为LocalUser的文件夹,为每个 FTP 用户创建一个与用户名同名的子文件夹(如LocalUser\username),当用户登录时,IIS 会自动将其重定向到这个专属目录。
主目录 选项卡
- 此资源的内容来源: 选择 “此计算机上的目录”。
- 本地路径: 指定 FTP 服务的根目录。
D:\FTP_Share。请确保此文件夹已经存在,并且您为匿名用户或指定的 FTP 用户设置了正确的 NTFS 权限。 - 写入权限:
- 读取: 允许用户下载文件,必须勾选。
- 写入: 允许用户上传文件,根据需要勾选。
- 记录访问: 记录用户访问日志,可选。
目录安全性 选项卡
- 访问权限:
- 授予访问: 默认选项,允许所有 IP 访问。
- 拒绝访问: 如果您希望阻止某些 IP 地址访问,可以点击“添加”按钮,然后输入要阻止的 IP 地址或 IP 范围,这对于防范攻击非常有用。
第三步:设置用户和文件夹权限
配置 IIS 只是第一步,确保文件系统的安全权限设置正确同样重要。
匿名访问
- 创建共享文件夹: 在 D 盘创建
FTP_Share文件夹。 - 设置 NTFS 权限:
- 右键点击
FTP_Share文件夹 -> “属性” -> “安全”选项卡。 - 点击“编辑” -> “添加”。
- 在输入框中输入
IUSR_您的计算机名,然后点击“检查名称” -> “确定”。 - 在用户列表中,选中刚刚添加的
IUSR_...用户。 - 在下方的权限列表中,勾选 “读取” 和 “读取和运行”,如果需要上传,还需勾选 “写入”。
- 点击“应用” -> “确定”。
- 右键点击
隔离用户 + 身份验证
- 创建用户账户: 在“开始” -> “管理工具” -> “Active Directory 用户和计算机”(如果是域环境)或“计算机管理” -> “本地用户和组”中,创建一个新的用户,
ftpuser1。 - 创建隔离目录结构:
- 在 FTP 根目录(如
C:\inetpub\ftproot)下创建LocalUser文件夹。 - 在
LocalUser文件夹下,创建一个与用户名完全相同的文件夹:LocalUser\ftpuser1。
- 在 FTP 根目录(如
- 设置文件夹权限:
- 右键点击
ftpuser1文件夹 -> “属性” -> “安全”。 - 添加用户
ftpuser1,并授予该用户“完全控制”权限,或者根据需要授予“读取”、“写入”等权限。 - 重要: 确保
ftpuser1对其父文件夹LocalUser只有“读取”权限,以防止用户跳出自己的目录。
- 右键点击
第四步:测试 FTP 服务器
配置完成后,我们需要测试一下是否成功。
-
启动 FTP 服务:
- 在 IIS 管理器中,确保“默认 FTP 站点”的状态是 “正在运行”,如果不是,右键点击它,选择“启动”。
-
从客户端连接:
- 使用命令行测试 (推荐):
- 在另一台电脑上,打开“命令提示符”。
- 输入
ftp <你的服务器IP地址>,ftp 192.168.1.100。 - 如果是匿名登录: 直接按回车键即可进入。
- 如果是用户名登录: 输入您创建的用户名(如
ftpuser1),然后按回车,再输入密码。 - 登录成功后,可以使用
dir命令列出文件,用get下载文件,用put上传文件,最后用bye退出。
- 使用文件浏览器测试:
- 打开“我的电脑”,在地址栏输入
ftp://<你的服务器IP地址>,ftp://192.168.1.100。 - 系统会提示您输入用户名和密码(如果未启用匿名)。
- 连接成功后,您就可以像操作普通文件夹一样进行拖放上传下载了。
- 打开“我的电脑”,在地址栏输入
- 使用命令行测试 (推荐):
常见问题与解决方案
-
问题 1: 550 Access is denied.
- 原因: 最常见的原因是NTFS 权限设置错误,确保登录用户(匿名用户或指定用户)对 FTP 文件夹有读取/写入权限。
- 解决: 检查文件夹的“安全”选项卡,确认权限分配正确。
-
问题 2: 530 User cannot log on / 331 Password required.
- 原因: 用户名或密码错误,或者用户账户被禁用/锁定。
- 解决: 检查用户名密码是否正确,在“计算机管理”中查看用户状态。
-
问题 3: 425 Cannot open data connection.
- 原因: 通常是防火墙阻止了 FTP 的“数据连接”端口(通常是 20 端口,以及一个随机的高位端口),FTP 需要两个连接:一个控制连接(21端口),一个数据连接(传输文件)。
- 解决: 在 Windows Server 2003 的防火墙中,必须例外 TCP 端口 21,对于被动模式 FTP,还需要配置防火墙允许一个端口范围(1024-65535),最简单的方法是在防火墙设置中,勾选“文件服务器”和“FTP 服务器”例外规则。
-
问题 4: 用户无法访问其隔离目录,被限制在根目录。
- 原因: 未正确配置“隔离用户”功能,或者目录结构创建不正确。
- 解决: 仔细检查“安全账户”选项卡是否勾选了“隔离用户”,以及
LocalUser\username的目录结构是否正确创建。
在 Windows Server 2003 上配置 FTP 服务,核心步骤如下:
- 安装: 通过“管理您的服务器”添加“文件服务器”角色,并勾选“FTP 服务”。
- 配置 IIS: 使用 IIS 管理器设置“默认 FTP 站点”的属性,重点关注“安全账户”(匿名/隔离用户)和“主目录”(路径和权限)。
- 设置 NTFS 权限: 在文件系统层面,为用户或匿名账户授予正确的读取/写入权限。
- 防火墙放行: 确保防火墙允许 TCP 21 端口以及 FTP 数据连接。
- 测试: 使用命令行或文件浏览器进行连接测试。
再次强调,由于系统老旧,请务必在安全隔离的环境中使用。
