重要警告:安全风险
在开始之前,必须强调:Windows Server 2003 已于 2025 年 7 月 14 日停止所有支持(包括安全更新)。 在任何连接到公共互联网的环境中运行它都是极其危险的,因为未修复的安全漏洞使其成为黑客的绝佳目标。

- 强烈建议:仅将此服务器部署在完全隔离的内部网络中,并且不要将其暴露在互联网上。
- 强烈建议:尽快规划将其升级到现代操作系统(如 Windows Server 2025/2025)或使用更现代的 FTP 替代方案(如 FileZilla Server、VSFTPD 等)。
第一部分:安装 FTP 服务
默认情况下,Windows Server 2003 不会安装 FTP 服务,需要手动添加。
-
打开“管理您的服务器”向导
点击“开始” -> “管理您的服务器”,如果向导没有自动启动,可以在“管理工具”中找到它。
-
添加角色
(图片来源网络,侵删)- 在右侧的“部分,点击“添加或删除角色”。
- 在“服务器角色”向导中,点击“下一步”。
-
选择 FTP 服务
- 在角色列表中,找到并勾选 “文件服务器”。
- 点击“下一步”。
-
确认并安装
- 在“文件服务器摘要”页面,点击“下一步”。
- 系统会开始安装必要的组件,包括 IIS(Internet 信息服务)和 FTP 服务,安装完成后,点击“完成”。
FTP 服务已经成功安装,你可以在“管理工具” -> “Internet 信息服务 (IIS) 管理器”中找到它。
第二部分:配置 FTP 站点
IIS 管理器是配置 FTP 的核心工具。

-
打开 IIS 管理器
“开始” -> “管理工具” -> “Internet 信息服务 (IIS) 管理器”。
-
创建新的 FTP 站点
- 在左侧的树状图中,右键点击你的服务器名称(如
SERVER (localhost))。 - 选择“新建” -> “FTP 站点”。
- FTP 站点描述:输入一个易于识别的名称,如
MyCompanyFTP。 - IP 地址和端口:
- IP 地址:如果服务器有多个网卡,选择一个专用的 IP 地址,如果只有一个,选择“全部未分配”。
- TCP 端口:默认为 21,通常无需更改。
- FTP 站点主目录:
- 路径:点击“浏览”,选择你希望用户访问的文件夹作为 FTP 根目录。
D:\FTP_Share。 - 权限:这里有两个选项,非常重要:
- 读取:用户可以下载文件。
- 写入:用户可以上传、删除和修改文件。
- 建议:如果这是一个只读的共享库,只勾选“读取”,如果允许用户上传,勾选“写入”。请遵循最小权限原则。
- 路径:点击“浏览”,选择你希望用户访问的文件夹作为 FTP 根目录。
- 完成:点击“完成”。
- 在左侧的树状图中,右键点击你的服务器名称(如
-
配置 FTP 站点属性
- 在 IIS 管理器左侧,右键点击你刚刚创建的 FTP 站点(如
MyCompanyFTP),选择“属性”。 - FTP 站点选项卡:
可以限制连接数、启用或禁用日志记录等。
- 安全账户选项卡:
- 允许匿名连接:如果允许任何人访问而不需要密码,勾选此项。强烈建议关闭此功能,除非你有一个公开的只读区域。
- 如果允许匿名连接:系统会使用
IUSR_计算机名这个账户来访问文件,你需要确保这个账户对 FTP 主目录有相应的 NTFS 权限。
- 消息选项卡:
可以设置用户连接时、退出时以及 FTP 服务不可用时显示的欢迎和退出信息。
- 目录安全性选项卡:
- TCP/IP 地址限制:可以在这里配置一个“拒绝连接”的列表,只允许特定的 IP 地址访问,这是最基本的安全措施之一。
- 主目录选项卡:
- FTP 目录:可以再次确认或修改主目录路径。
- 本地路径:可以修改本地路径。
- 权限:这里设置的权限会覆盖创建站点时的初始设置。
- 目录列表风格:可以选择 UNIX 风格或 MS-DOS 风格。
- 在 IIS 管理器左侧,右键点击你刚刚创建的 FTP 站点(如
第三部分:设置用户和权限
FTP 访问最终依赖于 Windows 的用户账户和 NTFS 文件系统权限。
使用 Windows 用户账户(推荐)
这是最直接、最安全的方法。
-
创建 Windows 用户
- “开始” -> “管理工具” -> “计算机管理”。
- 展开“本地用户和组” -> “用户”。
- 右键点击“用户”,选择“新用户”。
- 创建一个用户名(如
ftpuser1),设置一个强密码,取消勾选“用户下次登录时须更改密码”和“用户不能更改密码”。 - 将此用户添加到必要的组(如
Users组)。
-
设置 NTFS 权限
- 右键点击你的 FTP 主目录(如
D:\FTP_Share),选择“属性”。 - 切换到“安全”选项卡。
- 点击“编辑” -> “添加”,输入你刚刚创建的用户名(
ftpuser1),点击“检查名称” -> “确定”。 - 为该用户分配权限:
- 只读:勾选“读取和执行”、“列出文件夹内容”、“读取”。
- 读写:在只读权限的基础上,再勾选“写入”。
- 点击“应用” -> “确定”。
- 右键点击你的 FTP 主目录(如
-
在 FTP 中禁用匿名并使用基本身份验证
- 回到 IIS 管理器,右键点击你的 FTP 站点 -> “属性”。
- 切换到 “安全账户” 选项卡,取消勾选“允许匿名连接”。
- 切换到 “目录安全性” 选项卡。
- 在“身份验证和访问控制”中,点击“编辑”。
- 确保 “基本身份验证(密码以明文形式通过网络发送)” 是唯一被勾选的选项。不要勾选“匿名访问”。
- 点击“确定”。
用户 ftpuser1 就可以使用他的用户名和密码连接到 FTP 服务器了。
使用虚拟用户(更安全)
虚拟用户是指那些只在 FTP 服务中存在的用户,他们不是 Windows 系统用户,这提高了安全性,因为即使 FTP 账户被破解,也无法登录服务器。
-
创建一个 Windows 用户作为 FTP 服务账户
- 按照方法一,创建一个 Windows 用户(如
ftp_service_account),并给他一个非常弱的密码(因为从不交互登录)或使用net user ftp_service_account * /add命令创建。确保这个用户对 FTP 主目录只有“读取”权限。
- 按照方法一,创建一个 Windows 用户(如
-
创建用户隔离
- 在 FTP 站点属性中,切换到 “目录安全性” -> “身份验证和访问控制” -> “编辑”。
- 勾选 “基本身份验证”。
- 点击右下角的 “用户隔离” 按钮。
- 选择 “将用户限制到其主目录”。
- 在下方的“主目录”选项中,选择 “此 FTP 站点的主目录”。
- 点击“确定”。
-
创建虚拟用户文件夹和文件
- 在你的 FTP 主目录(如
D:\FTP_Share)下,为每个虚拟用户创建一个与用户名完全相同的文件夹。D:\FTP_Share\ftpuser1D:\FTP_Share\ftpuser2
- 在这些文件夹中,创建一个名为
passwd.txt的文件,内容格式为:username1:password1 username2:password2 - 你需要一个工具(如
ftpusoi.dll或第三方脚本)来读取这个passwd.txt文件并进行身份验证,在 Windows Server 2003 中,这个过程比较复杂
- 在你的 FTP 主目录(如
