FTP 用户隔离为 Internet 服务提供商 (ISP) 和应用服务提供商提供了解决方案,使他们可以为客户提供上载文件和 Web 内容的个人 FTP 目录。FTP 用户隔离通过将用户限制在自己的目录中,来防止用户查看或覆盖其他用户的 Web 内容。因为顶层目录就是 FTP 服务的根目录,用户无法浏览目录树的上一层。在特定的站点内,用户能创建、修改或删除文件和文件夹。
FTP 用户隔离是站点属性,而不是服务器属性。无法为每个 FTP 站点启动或关闭该属性。
FTP 用户隔离支持三种隔离模式。每一种模式都会启动不同的隔离和验证等级。
隔离模式 | 描述 |
---|---|
不隔离用户 | 该模式不启用 FTP 用户隔离。该模式的工作方式与以前版本的 IIS 类似。由于在登录到 FTP 站点的不同用户间的隔离尚未实施,该模式最适合于只提供共享内容下载功能的站点或不需要在用户间进行数据访问保护的站点。 |
隔离用户 | 该模式在用户访问与其用户名匹配的主目录前,根据本机或域帐户验证用户。所有用户的主目录都在单一 FTP 主目录下,每个用户均被安放和限制在自己的主目录中。不允许用户浏览自己主目录外的内容。如果用户需要访问特定的共享文件夹,您可以再建立一个虚拟根目录。该模式不使用 Active Directory 目录服务进行验证。
注意 当使用该模式创建了上百个主目录时,服务器性能会下降。 |
用 Active Directory 隔离用户 | 该模式根据相应的 Active Directory 容器验证用户凭据,而不是搜索整个 Active Directory,那样做需要大量的处理时间。将为每个客户指定特定的 FTP 服务器实例,以确保数据完整性及隔离性。当用户对象在 Active Directory 容器内时,可以将 FTPRoot 和 FTPDir 属性提取出来,为用户主目录提供完整路径。如果 FTP 服务能成功地访问该路径,则用户被放在代表 FTP 根位置的该主目录中。用户只能看见自己的 FTP 根位置,因此受限制而无法向上浏览目录树。如果 FTPRoot 或 FTPDir 属性不存在,或它们无法共同构成有效、可访问的路径,用户将无法访问。
注意 该模式需要在 Windows Server 2003 家族的操作系统上运行 Active Directory 服务器。也可以使用 Windows 2000 Active Directory,但是需要手动扩展 User 对象架构。要了解设置 Active Directory 服务器的详细信息,请参阅 Windows 帮助。 |
当设置 FTP 服务器使用隔离用户时,所有的用户主目录都在 FTP 站点目录中的二级目录结构下(如 FTP“主目录”属性页中配置的那样)。FTP 站点目录可以在本地计算机上,也可以在网络共享上。
要点 您必须是本地计算机上 Administrators 组的成员或者您必须被委派相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录到计算机,然后使用运行方式命令来以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"。
创建不隔离用户的新 FTP 站点
创建隔离用户的新 FTP 站点
在 FTP 服务器上使用 Active Directory 隔离用户时,每个用户的主目录均可放置在任意的网络路径上。在此模式中,您可以根据网络配置情况,灵活地将用户主目录分布在多个服务器、多个卷和多个目录中。可以设置 FTPRoot 和 FTPDir 属性,以便用户建立到 FTP 服务器的本地路径。该模式在检索用户主目录信息时,集成了 Active Directory 验证。这种集成使您可以通过 Active Directory 服务界面 (ADSI) 和编写脚本来管理用户主目录的物理位置。
该模式最适合 ISP 部署,这些部署前端 FTP 服务器集都通过访问 Active Directory 来检索用户主目录信息,然后访问后端文件服务器集。
Active Directory User 对象经过扩展,包括两个属性:FTPRoot 和 FTPDir。这些属性为每个用户保存文件服务器共享和相对主目录。FTPRoot 决定通用命名规范 (UNC) 文件服务器共享,而 FTPDir 则用来指出共享的相对路径。合并这两种属性可以产生到用户主目录或 FTP 服务器的 UNC 完整路径。
这两种属性对应于在 Windows Server 2003 家族的 Active Directory 架构中添加的 msIIS-FTPRoot 和 msIIS-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-FTPRoot 和 msIIS-FTPDir。有关如何在 Windows 2000 Active Directory 架构中扩展基本 user 对象的详细信息,请参阅 Active Directory Programmer's Guide。
创建用 Active Directory 隔离用户的新 FTP 站点