为什么IUSR对wwwroot没有任何权限

我正在尝试了解IIS 8.5用户帐户模型。

IUSR:默认匿名用户(可以更改)。 它是请求networking资源的身份

ApplicationPoolIdentity:用于应用程序池的特殊标识

IIS_IUSRS:它是所有特殊的ApplicationPoolIdentity所在的组

IIS_IUSRS具有对wwwroot文件夹的读取/执行权限

我不明白为什么IUSR对wwwroot文件夹没有任何权限

怎么可能不会导致一个401请求?

如果您查看C:\inetpub\wwwroot的默认权限:

 BUILTIN\IIS_IUSRS:(RX) BUILTIN\IIS_IUSRS:(OI)(CI)(IO)(GR,GE) NT SERVICE\TrustedInstaller:(I)(F) NT SERVICE\TrustedInstaller:(I)(OI)(CI)(IO)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F) BUILTIN\Administrators:(I)(F) BUILTIN\Administrators:(I)(OI)(CI)(IO)(F) BUILTIN\Users:(I)(RX) BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE) CREATOR OWNER:(I)(OI)(CI)(IO)(F) 

您可以看到Users组具有读取访问权限, IUSR自动成为Users组的成员,这就是为什么它可以访问这些文件。

如果你删除Users的权限,你应该得到一个401.3

因为IUSR帐户是通过NT Authority\Authenticated Users组放在NT Authority\Authenticated Users组中的。

这两个大多是为了传统的原因而存在,但有两个不同的目的。

  • IUSR帐户用于匿名身份validation
  • IIS_IUSRS组用于允许应用程序池用户的安全控制

有一些关于历史和一些关于使用IUSR帐户的体面的信息 ,它的前身是可用的IUSR_computername的一些写法 。