IIS 有问必答 – 2003 年 8 月
IIS 6.0 中引入的新用户和组及其默认权限
问:我们使用 IIS 已经有些年头了,现在正在将 Web 站点迁移至 IIS 6.0(新服务器,不是升级)。我希望控制安全性,但是不希望过分控制它,以至于系统无法处理文件。我还发现安装了 IIS 6.0 的 Windows Server 2003 中添加了新的用户和组,例如 ASPNET 用户和 IIS_WPG 组,我想了解将这些用户和组的安全设置,以确保新 Web 站点的安全。请告诉我,在创建新 Web 站点时,我应该如何设置权限。这样我可以按需添加其他设置。我下面列出了 wwwroot 文件夹的默认权限供您参考。
Administrators(组- Administrator):完全控制 IIS_WPG(组 - IWAM_服务器名、Local Service、 Network Service 与 System):读取和执行 Interactive:列出文件夹内容 IUSR_服务器名:列出文件夹内容 Network:列出文件夹内容 Network Service:列出文件夹内容 OWS_123456789_admin(组 - Administrators 组):列出文件夹内容 OWS_987654321_admin(组 - Administrator):列出文件夹内容 System:完全控制 Users(组 – ASPNET、Authenticated Users 组、Interactive): 读取和执行您可以看到,这里设置了许多权限,而且有些还是冗余的。我需要为其他 Web 站点创建新的主文件夹,而且希望确保权限设置完全符合我的需要。
答:对于“应该具备什么权限”的回答是,“满足需求的最低权限”。IIS 传送静态内容和脚本只需 NTFS 读取权限。其他一切权限都是依您的业务需求而定的。
从您所列出的权限我可以看出,您的服务器上全新安装了 IIS 6 与 FrontPage 2002 Extensions。值得注意的一点是,每次添加服务或产品时,服务器上所需的权限(有时是用户和组),都会发生变化。首先,让我们看一下在没有安装 FrontPage Server Extensions 的 Windows Server 2003上,按默认值安装 IIS 6 时 wwwroot 文件夹的权限设置。它们是:
Administrators - 完全控制 System - 完全控制 IIS_WPG – 列出文件夹内容、读取和执行、读取 Users – 列出文件夹内容、读取和执行、读取 Internet Guest 帐户– 拒绝写入我所列出的 IIS 6 默认权限和您的服务器上的不同,这是因为您已经安装了 FrontPage Server Extensions(FPSE) 2002。您可以看到,权限设置不同之处很多。添加 FPSE 后的权限:
Network - 列出文件夹内容 Network Service - 列出文件夹内容 Interactive – 列出文件夹内容 OWS_<后缀> - 权限根据角色不同而不同。 Internet Guest 帐户 – 列出文件夹内容您说得很对,其中有些设置是重叠的。其中最大的一个变化就是 Internet Guest 帐户 的权限,
删除了“拒绝写入”,添加了“列出文件夹内容”。这样一来,匿名 Web 用户的权限和 Network 与 Interactive 组完全相同。由于 IUSR 帐户要么是 Network 组的成员,要么是 Interactive 组的成员,因此从理论上说,没必要列出 IUSR 帐户的权限。另外,Network Service 组是 IIS_WPG 的成员,因此也不需要特别列出。
FPSE 使用权限的方法可能比较让人感到困惑。它主要是用于解决如下所示的问题:用户首先使用用户帐户经过身份验证进入 Web 站点,然后浏览其他只能使用 NTFS 权限进行匿名访问的其他内容。在这种情况下,用户可能会被拒绝访问,而您可能希望用户能够读取这些内容。幸运的是,在 Windows Server 2003 中,您可以让 FSPE 使用本地用户组,而不是内置 Network 和 Interactive 组的权限。要了解详细信息,可以仔细阅读 http://www.microsoft.com/technet/prodtechnol/ sppt/sharepnt/proddocs/admindoc/owsj03.asp 以及 http://www.microsoft.com/serviceproviders/whitepapers/fpse2002.asp 处的内容。
最后,IIS 6 服务器上默认情况下没有 ASPNet 用户,只有在安装了 ASP.net 后才会加载。除非是为了与 IIS 5兼容而在工作进程隔离模式下运行 ASP.net,否则不会使用 ASPNet 用户;默认情况下,这些应用程序运行在 Network Services 帐户下。要了解 ASP.net 和 IIS 6 的详细信息,请参阅 IIS 6 资源指南,其网址为 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/webapp/iis/iis6perf.mspx。