今天早上,一台机器上的每个网站突然开始返回 401.3 错误。经过一番摸索,我们通过更改 IIS 匿名身份验证以使用应用程序池标识解决了该问题。
从 IIS 日志中,我们可以准确地知道网站从 200 切换到 401.3 响应的时间,并且当时机器中有一个供应商。我有充分的理由相信这些网站以前使用过 IUSR,并且供应商以某种方式做了一些事情以从 IIS_IUSRS 组中删除 IUSR,或者删除了 IUSR 权限。但是,当我尝试在姊妹机上复制时,我看到姊妹机上的网站在 IUSR 下运行,但 1) 所有目录都没有 IUSR 权限(只有 IIS_IUSRS)2) IIS_IUSRS 组只有一个 SID 作为成员 + 默认应用程序池,而姊妹机上的网站却运行良好!当目录中未列出 IUSR 权限时,如何从目录中删除 IUSR 权限,当未列出用户时,如何从 IIS_IUSRS 中删除 IUSR 权限?
答案1
一个有助于故障排除的工具是进程监视器。根据您的描述,USERS 很可能是罪魁祸首。本地用户组包含“经过身份验证的用户”,其中包含经过身份验证的令牌。
http://www.iislogs.com/articles/processmonitorw3wp/
顺便问一下 - 为什么你让供应商访问你的服务器?:)