Windows Server 2008 提供了两种 FTP 服务:

- FTP 服务 (IIS 7.0):这是推荐的方式,与 Internet Information Services (IIS) 7.0 紧密集成,功能更强大、更安全。
- 传统的 FTP 服务:这是从早期 Windows 版本继承下来的,功能相对简单,不推荐在新部署中使用。
本指南将重点介绍更常用、更安全的 IIS 7.0 FTP 服务。
第一部分:安装 FTP 服务器角色
在配置之前,必须先安装 IIS 角色和 FTP 服务。
-
打开服务器管理器:
点击“开始” -> “管理工具” -> “服务器管理器”。
(图片来源网络,侵删) -
添加角色:
在服务器管理器的“窗格中,点击“添加角色”。
-
开始向导:
在“开始之前”页面,点击“下一步”。
(图片来源网络,侵删) -
选择服务器角色:
- 在角色列表中,勾选 “Web 服务器 (IIS)”。
- 点击“下一步”。
-
添加 Web 服务器角色服务:
- 在“Web 服务器角色 (IIS)”页面,点击“添加角色服务”按钮。
- 在弹出的对话框中,展开 “FTP 服务器”。
- 勾选以下两个选项:
- FTP 服务:这是核心 FTP 服务。
- FTP 扩展性:提供对 .NET 等技术的支持,推荐安装。
- 点击“确定”。
-
确认安装选择:
确认选择无误后,点击“下一步”。
-
安装:
点击“安装”,等待安装完成,完成后点击“关闭”。
第二部分:创建 FTP 站点
安装完成后,你需要创建一个 FTP 站点来提供文件传输服务。
-
打开 IIS 管理器:
- 点击“开始” -> “管理工具” -> “Internet Information Services (IIS) 管理器”。
-
添加 FTP 站点:
- 在 IIS 管理器左侧的“连接”窗格中,右键点击 “FTP 站点”。
- 选择 “添加 FTP 站点...”。
-
设置站点基本信息:
- 站点名称:为你的 FTP 站点起一个描述性的名称,
MyCompanyFTP。 - 物理路径:指定 FTP 用户上传和下载文件时访问的文件夹路径。
D:\FTP_Files。注意:请确保此文件夹的权限设置正确(稍后详述)。 - 点击“下一步”。
- 站点名称:为你的 FTP 站点起一个描述性的名称,
-
绑定和 SSL 设置:
- IP 地址:选择服务器用于此 FTP 站点的 IP 地址,如果服务器有多个网卡,请选择正确的那个,选择“未分配”表示使用所有可用 IP。
- 端口:FTP 默认使用 21 端口,除非有特殊需求,否则保持默认。
- SSL:这是一个非常重要的安全选项。
- 无:不使用 SSL,这是最不安全的方式,仅限在内网信任环境中使用。
- 允许:允许 FTP over SSL (Implicit FTPS),但客户端不强制要求。
- 需要:推荐,强制客户端必须使用 FTP over SSL (Implicit FTPS) 进行连接,否则连接失败。
- 需要 (允许不安全登录):非常不推荐,允许使用 SSL 加密数据传输,但用户名和密码以明文传输(即 AUTH TLS/SSL 命令之后的登录过程),存在安全风险。
- 建议:如果公网访问,请务必选择 “需要”,并确保你已为服务器购买了 SSL 证书,如果是内网测试,可以选择“无”。
- 点击“下一步”。
-
设置身份验证和授权:
- 身份验证:
- 匿名:允许任何用户匿名访问,如果允许匿名,请确保“授权”部分也允许了匿名用户。
- 基本:需要用户名和密码。注意:基本身份验证的密码是明文传输的,因此必须配合 SSL 使用(即上一步选择“需要”或“允许”),否则非常危险。
- ASP.NET:通常不用于 FTP。
- 授权:
- 匿名:如果勾选了匿名身份验证,这里可以设置“匿名用户”的权限为“读取”或“读取”和“写入”。
- 授权:如果不使用匿名,可以指定特定的 Windows 用户或用户组,选择“指定用户”,然后点击“用户”按钮添加用户,权限同样可以是“读取”或“读取和写入”。
- 权限:
- 读取:允许用户下载文件和列表。
- 写入:允许用户上传、删除和修改文件。
- 建议:为了安全,禁用匿名,使用 基本身份验证,并指定特定的 Windows 用户或组,只授予其“读取”或“读取和写入”的必要权限。
- 点击“完成”。
- 身份验证:
第三部分:配置 FTP 站点高级设置
创建站点后,你可能需要调整一些高级设置。
-
在 IIS 管理器中,选中你刚刚创建的 FTP 站点。
-
在中间的“操作”窗格中,点击 “高级设置...”。
常用高级设置项:
- 连接限制:可以设置最大连接数,防止服务器过载。
- 日志记录:可以启用日志记录,用于审计和分析访问情况,日志文件通常位于
%SystemDrive%\inetpub\logs\LogFiles目录下。
-
在“操作”窗格中,点击 “FTP 防火墙支持...”。
- 这个设置对于位于 NAT 路由器或防火墙后面的服务器非常重要。
- 勾选 “被动 FTP”。
- 在 “数据通道端口范围” 中,指定一个端口范围,
5000-5100。 - 重要:你必须在防火墙上为这个 FTP 站点的控制通道端口 (21) 和你刚刚指定的数据通道端口范围(如
5000-5100)入站规则,才能允许外部客户端连接。
第四部分:创建和配置 FTP 用户
FTP 服务使用 Windows 用户账户进行认证,你需要创建专门用于 FTP 的用户。
-
创建 Windows 用户:
- 点击“开始” -> “管理工具” -> “计算机管理”。
- 展开“本地用户和组” -> “用户”。
- 右键点击“用户”,选择“新用户”。
- 填写用户名、密码等信息。建议使用强密码。
- 取消勾选“用户下次登录时须更改密码”和“用户不能更改密码”。
- 勾选“密码永不过期”(根据你的安全策略决定)。
- 点击“创建”。
-
设置文件夹权限(关键步骤): 这是 FTP 配置中最容易出错的地方,权限分为两个层面:
- NTFS 文件系统权限:控制用户对文件的实际操作能力。
- FTP 授权规则:控制用户是否被允许通过 FTP 登录。
正确做法:
- 右键点击你之前为 FTP 设置的物理路径文件夹(
D:\FTP_Files),选择 “属性”。 - 切换到 “安全” 选项卡。
- 点击“编辑...”,添加...”。
- 输入你刚刚创建的 FTP 用户名,点击“检查名称” -> “确定”。
- 在用户列表中,选中你添加的用户。
- 在下方的权限列表中,只勾选你希望用户拥有的权限:
- 读取和执行:允许浏览目录和下载文件。
- 列出文件夹内容:允许查看目录列表。
- 读取:允许读取文件内容。
- 写入:允许创建文件和文件夹。
- 修改:允许写入和删除。
- 完全控制:拥有所有权限。
- FTP 授权规则:在 IIS 管理器中,双击你的 FTP 站点,进入“FTP 授权规则”,确保有一条规则,指定了该用户,并授予了与 NTFS 权
