隔离 FTP 用户

FTP 用户隔离为 Internet 服务提供商 (ISP) 和应用服务提供商提供了解决方案,使他们可以为客户提供上载文件和 Web 内容的个人 FTP 目录。FTP 用户隔离通过将用户限制在自己的目录中,来防止用户查看或覆盖其他用户的 Web 内容。因为顶层目录就是 FTP 服务的根目录,用户无法浏览目录树的上一层。在特定的站点内,用户能创建、修改或删除文件和文件夹。

FTP 用户隔离是站点属性,而不是服务器属性。无法为每个 FTP 站点启动或关闭该属性。

FTP 用户隔离模式

FTP 用户隔离支持三种隔离模式。每一种模式都会启动不同的隔离和验证等级。

隔离模式描述
不隔离用户 该模式不启用 FTP 用户隔离。该模式的工作方式与以前版本的 IIS 类似。由于在登录到 FTP 站点的不同用户间的隔离尚未实施,该模式最适合于只提供共享内容下载功能的站点或不需要在用户间进行数据访问保护的站点。
隔离用户 该模式在用户访问与其用户名匹配的主目录前,根据本机或域帐户验证用户。所有用户的主目录都在单一 FTP 主目录下,每个用户均被安放和限制在自己的主目录中。不允许用户浏览自己主目录外的内容。如果用户需要访问特定的共享文件夹,您可以再建立一个虚拟根目录。该模式不使用 Active Directory 目录服务进行验证。

注意 注意 当使用该模式创建了上百个主目录时,服务器性能会下降。

用 Active Directory 隔离用户 该模式根据相应的 Active Directory 容器验证用户凭据,而不是搜索整个 Active Directory,那样做需要大量的处理时间。将为每个客户指定特定的 FTP 服务器实例,以确保数据完整性及隔离性。当用户对象在 Active Directory 容器内时,可以将 FTPRootFTPDir 属性提取出来,为用户主目录提供完整路径。如果 FTP 服务能成功地访问该路径,则用户被放在代表 FTP 根位置的该主目录中。用户只能看见自己的 FTP 根位置,因此受限制而无法向上浏览目录树。如果 FTPRootFTPDir 属性不存在,或它们无法共同构成有效、可访问的路径,用户将无法访问。

注意 注意 该模式需要在 Windows Server 2003 家族的操作系统上运行 Active Directory 服务器。也可以使用 Windows 2000 Active Directory,但是需要手动扩展 User 对象架构。要了解设置 Active Directory 服务器的详细信息,请参阅 Windows 帮助。

用 IIS 管理器配置 FTP 用户隔离

当设置 FTP 服务器使用隔离用户时,所有的用户主目录都在 FTP 站点目录中的二级目录结构下(如 FTP“主目录”属性页中配置的那样)。FTP 站点目录可以在本地计算机上,也可以在网络共享上。

要点 要点 您必须是本地计算机上 Administrators 组的成员或者您必须被委派相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录到计算机,然后使用运行方式命令来以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"

创建不隔离用户的新 FTP 站点

  1. 在 IIS 管理器中,展开本地计算机,右键单击“FTP 站点”文件夹,指向“新建”,然后单击“FTP 站点”。
  2. 单击“下一步”。
  3. 在“FTP 站点描述”和“IP 地址和端口设置”对话框中提供所需的信息,然后单击“下一步”。
  4. 在“FTP 用户隔离”对话框中,单击“不隔离用户”,然后单击“下一步”。
  5. 完成向导的其余步骤。

创建隔离用户的新 FTP 站点

  1. 在 IIS 管理器中,展开本地计算机,右键单击“FTP 站点”文件夹,指向“新建”,然后单击“FTP 站点”。
  2. 在“FTP 站点描述”和“IP 地址和端口设置”对话框中提供所需的信息,然后单击“下一步”。
  3. 在“FTP 用户隔离”对话框中,单击“隔离用户”,然后单击“下一步”。
  4. 完成向导的其余步骤。
  5. 右键单击创建的新 FTP 站点,然后单击“属性”。
  6. 单击“安全帐户”选项卡。如果选中了“允许匿名连接”复选框,则在“用户名”和“密码”框中键入用于验证匿名用户的用户名和密码。
  7. 如果允许匿名访问,请在 FTP 站点主目录下创建 LocalUserLocalUser\Public 子目录。
  8. 如果本地计算机用户使用他们各自的帐户用户名登录(而不是作为匿名用户),请在 FTP 站点根目录下创建 LocalUserLocalUser\username 子目录,以允许每个用户连接该 FTP 站点。
  9. 如果不同域的用户使用显式 domain\username 凭据登录,请在该 FTP 站点根目录下为每个域都创建一个子目录(使用域名)。在每个域目录下,为每个用户创建一个目录。例如,要支持用户 Sales\user1 访问,请创建 Sales 和 Sales\user1 目录。

用 Active Directory 配置 FTP 用户隔离

在 FTP 服务器上使用 Active Directory 隔离用户时,每个用户的主目录均可放置在任意的网络路径上。在此模式中,您可以根据网络配置情况,灵活地将用户主目录分布在多个服务器、多个卷和多个目录中。可以设置 FTPRootFTPDir 属性,以便用户建立到 FTP 服务器的本地路径。该模式在检索用户主目录信息时,集成了 Active Directory 验证。这种集成使您可以通过 Active Directory 服务界面 (ADSI) 和编写脚本来管理用户主目录的物理位置。

该模式最适合 ISP 部署,这些部署前端 FTP 服务器集都通过访问 Active Directory 来检索用户主目录信息,然后访问后端文件服务器集。

Active Directory User 对象经过扩展,包括两个属性:FTPRootFTPDir。这些属性为每个用户保存文件服务器共享和相对主目录。FTPRoot 决定通用命名规范 (UNC) 文件服务器共享,而 FTPDir 则用来指出共享的相对路径。合并这两种属性可以产生到用户主目录或 FTP 服务器的 UNC 完整路径。

这两种属性对应于在 Windows Server 2003 家族的 Active Directory 架构中添加的 msIIS-FTPRootmsIIS-FTPDir 属性。也可以使用 iisftp.vbs 命令行管理脚本设置并修改它们。有关使用 iisftp.vbs 命令行管理脚本设置这些属性的详细信息,请在 Windows 帮助中搜索“iisftp.vbs”。还可以安装 Admin Pack(可在 Windows Server 2003 家族资源工具包中找到),然后使用 Active Directory 管理单元修改这些属性。

使用 Active Directory 配置用户隔离涉及到设置以下相关服务:

要点 要点 要在 Active Directory 模式下将 FTP 用户隔离用于 Windows 2000 域控制器,您需要在 Windows 2000 Active Directory 架构中扩展基本的 user 对象以包含新的 FTP 属性 msIIS-FTPRootmsIIS-FTPDir。有关如何在 Windows 2000 Active Directory 架构中扩展基本 user 对象的详细信息,请参阅 Active Directory Programmer's Guide

创建用 Active Directory 隔离用户的新 FTP 站点

  1. 在 IIS 管理器中,右键单击“FTP 站点”文件夹,指向“新建”,然后单击“FTP 站点”。
  2. 在“FTP 站点描述”和“IP 地址和端口设置”对话框中提供所需的信息,然后单击“下一步”。
  3. 在“FTP 用户隔离”对话框中,单击“用 Active Directory 隔离用户”,然后单击“下一步”。
  4. 完成向导的其余步骤。
  5. 右键单击创建的新 FTP 站点,然后单击“属性”。
  6. 单击“安全帐户”选项卡。如果选中了“允许匿名连接”复选框,则在“用户名”和“密码”框中键入用于验证匿名用户的用户名和密码。该用户不应该是本地计算机用户,而应该是在 Active Directory 对象中拥有相应的主目录配置的域用户。
  7. 键入默认的登录域名。用户在登录域时,该域名将提供给那些没有指定他们所在的用户域的用户。换句话说,使用用户名 domain1\user1 连接的用户将在 domain1 中验证,而使用 user2 连接的用户将在默认登录域中进行验证。如果未设置默认域,并且用户未指定域名,则只有匿名用户才能访问。
相关主题

© 1997-2003 Microsoft Corporation。保留所有权利