兼容性
版本 | 说明 |
---|---|
IIS 7.5 | FTP 7.5 服务作为 Windows 7 和 Windows Server 2008 R2 中 IIS 7.5 的功能提供。 |
IIS 7.0 | FTP 7.0 和 FTP 7.5 服务是 IIS 7.0 带外提供的,需要从以下 URL 下载和安装该服务:https://www.iis.net/downloads/microsoft/ftp。 |
介绍
Microsoft 为 Windows Server® 2008 及更高版本更新了 FTP 服务。 此更新的 FTP 服务包含许多新功能,使 Web 作者能够比以前更好地发布内容,并提供 Web 管理员更多的安全性和部署选项。
本文档指导你使用新的 FTP 用户界面通过直接编辑 IIS 配置文件从头开始创建 FTP 站点。 该结构包含:
注意
本演练包含使用本地管理员帐户登录 FTP 站点的一系列步骤。 这些步骤只能在服务器本身上使用环回地址或通过 SSL 从远程服务器执行。 如果你偏爱使用单独的用户帐户而非管理员帐户,则在必要时需要创建合适的文件夹并为用户帐户设置正确的权限。
先决条件
必须准备好以下各项才能完成本文中的过程:
必须在 Windows 2008 服务器上安装 IIS,并且必须安装 Internet Information Services 管理器。
必须安装新的 FTP 服务。 可以使用以下链接之一从 https://www.iis.net/ 网站下载并安装 FTP 服务:
- FTP 7.5 for IIS 7 (x64)
- FTP 7.5 for IIS 7 (x86)
必须创建用于 FTP 发布的根文件夹。
使用 IIS 管理器创建新的 FTP 站点
新的 FTP 服务提供的向导可以引导你完成从头开始创建新 FTP 站点所需的所有步骤,让你可以轻松创建新的 FTP 站点。
步骤 1:使用 FTP 站点向导创建 FTP 站点
在这第一个步骤中,你将创建一个匿名用户可以打开的新 FTP 站点。
注意
本演练中列出的设置将 %SYSTEMDRIVE%\inetpub\ftproot
指定为 FTP 站点的路径。 你无需使用此路径;但如果你更改站点的位置,则必须更改整个演练中使用的与站点相关的路径。
打开 IIS 管理器。 在“连接”窗格中,单击树中的“站点”节点。
如下图所示,右键单击树中的“站点”节点,单击“添加 FTP 站点”,或者单击“操作”窗格中的“添加 FTP 站点”。
在
%SystemDrive%\inetpub\ftproot
处创建一个文件夹设置允许匿名访问的权限:
打开命令提示符。
输入以下命令:
ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
关闭命令提示符。
显示“添加 FTP 站点”向导时:
在“FTP 站点名称”框中输入“我的新 FTP 站点”,然后导航到在先决条件部分中创建的
%SystemDrive%\inetpub\ftproot
文件夹。 请注意,如果选择键入内容文件夹的路径,可以在路径中使用环境变量。完成这些项,然后单击“下一步”。
在向导的下一页:
从“IP 地址”下拉菜单中选择 FTP 站点的 IP 地址,或者选择接受默认选择“所有未分配”。由于你稍后将在本演练中使用管理员帐户,因此必须确保限制对服务器的访问,并通过在“IP 地址”框中键入“127.0.0.1”来输入计算机的本地环回 IP 地址。
注意
如果使用 IPv6,则还应该添加“::1”的 IPv6 localhost 绑定。
在“端口”框中输入 FTP 站点的 TCP/IP 端口。 对于本演练,请选择接受默认端口 21。
本演练不使用主机名,因此请确保“虚拟主机”框为空。
确保将“证书”下拉列表设置为“未选择”,并选择“允许 SSL”选项。
完成这些项,然后单击“下一步”。
在向导的下一页:
为“身份验证”设置选择“匿名”。
对于“授权”设置,请从“允许以下对象访问”下拉列表中选择“匿名用户”,然后为“权限”选项选择“读取”。
完成这些项,然后单击“完成”。
总结
你使用新的 FTP 服务成功新建了 FTP 站点。 回顾在此步骤中完成的项:
- 你新建了名为“我的新 FTP 站点”的新 FTP 站点,该站点的内容根目录位于
%SystemDrive%\inetpub\ftproot
。 - 你将 FTP 站点绑定到了计算机端口 21 上的本地环回地址,并选择了不对 FTP 站点使用安全套接字层 (SSL)。
- 你为 FTP 站点创建了一个默认规则,以允许匿名用户对文件进行“读取”访问。
步骤 2:添加其他 FTP 安全设置
创建匿名用户可浏览的新 FTP 站点对于公共下载站点很有用,但 Web 创作同样重要。 在此步骤中,你将为管理员帐户添加其他身份验证和授权设置。 为此,请按照以下步骤操作:
在 IIS 管理器中,单击之前创建的 FTP 站点对应的节点,然后双击“FTP 身份验证”打开 FTP 身份验证功能页。
显示“FTP 身份验证”页后,请突出显示“基本身份验证”,然后单击“操作”窗格中的“启用”。
在 IIS 管理器中,单击 FTP 站点对应的节点以重新显示所有 FTP 功能的图标。
必须添加一条授权规则,以便管理员可以登录。 为此,请双击“FTP 授权规则”图标打开 FTP 授权规则功能页。
显示“FTP 授权规则”页后,单击“操作”窗格中的“添加允许规则”。
显示“添加允许授权规则”对话框后:
- 选择“指定的用户”,然后在框中键入“administrator”。
- 对于“权限”,请选择“读取”和“写入”。
- 完成这些项,然后单击“确定”。
总结
回顾在此步骤中完成的项:
- 你向 FTP 站点添加了基本身份验证。
- 你添加了一条授权规则,该规则向管理员帐户授予对 FTP 站点的“读取”和“写入”权限。
步骤 3:登录到 FTP 站点
在步骤 1 中,你创建了一个匿名用户可访问的 FTP 站点,在步骤 2 中添加了允许管理员登录的其他安全设置。 在此步骤中,你将使用管理员帐户匿名登录。
注意
在此步骤中,请使用本地管理员帐户登录到 FTP 站点。 在步骤 1 中创建 FTP 站点时,你已将 FTP 站点绑定到本地环回 IP 地址。 如果未使用本地环回地址,请使用 SSL 来保护帐户设置。 如果你偏好使用单独的用户帐户而不是管理员帐户,请为该用户帐户设置相应文件夹的正确权限。
匿名登录到 FTP 站点
在 FTP 服务器上,打开命令提示符会话。
键入以下命令以连接到 FTP 服务器:
FTP localhost
当系统提示你输入用户名时,请输入“anonymous”。
当系统提示你输入密码时,请输入你的电子邮件地址。
现在应该可以匿名登录到 FTP 站点。 根据在步骤 1 中添加的授权规则,你应该只对内容文件夹拥有读取访问权限。
使用管理员帐户登录到 FTP 站点
在 FTP 服务器上,打开命令提示符会话。
键入以下命令以连接到 FTP 服务器:
FTP localhost
当系统提示你输入用户名时,请输入“administrator”。
当系统提示你输入密码时,请输入管理员密码。
现在,你应该以本地管理员身份登录到了 FTP 站点。 根据你在步骤 2 中添加的授权规则,你应该对内容文件夹拥有读取和写入访问权限。
总结
回顾在此步骤中完成的项:
- 你已匿名登录到 FTP 站点。
- 以本地管理员身份登录到 FTP 站点。
通过编辑 IIS 配置文件创建新的 FTP 站点
还可以通过编辑 IIS 配置文件为新 FTP 服务创建 FTP 站点。
注意
编辑 ApplicationHost.config 文件需要完整的管理权限。 为此,最好采用以下两种方法之一:
- 使用本地“管理员”帐户登录到计算机。 - 如果已使用具有管理员权限但不是本地“管理员”帐户的帐户登录,请使用“作为管理员运行”选项打开记事本。
注意
必须执行上述步骤,因为 Windows Vista 和 Windows Server 2008 操作系统中的用户帐户控制 (UAC) 安全组件会阻止访问 ApplicationHost.config 文件。 有关 UAC 的详细信息,请参阅以下文档:
https://go.microsoft.com/fwlink/?LinkID=113664
以下步骤将引导你完成从头开始创建新 FTP 站点所需的所有设置。
使用文本编辑器(例如 Windows 记事本)打开 ApplicationHost.config 文件,该文件默认位于
%SystemRoot%\System32\inetsrv\config
文件夹中。找到
<sites>
部分。 此部分包含默认网站,应以如下内容开头:<sites> <site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site>
复制默认网站的整个部分,并将其粘贴到紧邻 </site> 结束标记下方的新行中。
更改站点的设置以创建唯一的 FTP 站点:
修改新站点的 name 和 id 属性,使其分别包含“Default FTP Site”和“2”。
注意
如果有任何站点当前正在使用该站点标识符,你可能需要为站点 ID 选择其他数字而不是“2”。
将绑定元素上的 protocol 属性值更改为包含“ftp”。
将 physicalPath 属性更改为
%SystemDrive%\inetpub\ftproot
。将 bindingInformation 属性的 port 值更改为包含“21”。
在结束绑定标记下添加 <ftpServer> 部分,该部分将包含身份验证设置。
<ftpServer> <security> <authentication> <anonymousAuthentication enabled="true" userName="IUSR" /> <basicAuthentication enabled="true" /> </authentication> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" /> </security> </ftpServer>
注意
FTP 站点的身份验证设置是在站点级别上配置的,这与网站的身份验证不同,网站的身份验证可以根据 URL 进行配置。
<sites>
部分现在应包含类似于以下示例的内容:<sites> <site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site> <site name="Default FTP Site" id="2"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\ftproot" /> </application> <bindings> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> <ftpServer> <security> <authentication> <anonymousAuthentication enabled="true" userName="IUSR" /> <basicAuthentication enabled="true" /> </authentication> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" /> </security> </ftpServer> </site>
滚动到 ApplicationHost.config 文件的底部,为默认 FTP 站点添加将包含授权设置的位置部分。
<location path="Your FTP Site Name"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="*" permissions="Read" /> <add accessType="Allow" users="administrator" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location>
注意
在此示例中,FTP 站点的授权设置是按 URL 配置的,这些设置专门为所有用户启用读取权限,并为管理员帐户启用读/写权限。
保存 ApplicationHost.config 文件。
现在你应该能够使用 FTP 客户端登录到新建的 FTP 站点。 若要在 IIS 服务器上匿名使用 Internet Explorer,请在 Internet Explorer 地址栏中输入 ftp://localhost。 应该登录并匿名查看文件;系统不会提示你输入用户凭据。
总结
在此任务中,你通过编辑 IIS 配置文件创建了一个 FTP 站点。 回顾在此步骤中完成的项:
你使用默认网站的设置作为模板创建了一个新的 FTP 站点。
你为 FTP 站点配置了以下授权规则:
- 所有用户都具有读取权限。
- 管理员帐户具有读/写权限。