IIS 7.5 下的应用程序池标识的预定义账户有下面几个可选项:
- ApplicationPoolIdentity 默认情况下,选择“应用程序池标识”帐户。启动应用程序池时动态创建“应用程序池标识”帐户,因此,此帐户对于您的应用程序来说是最安全的。
- LocalService “本地服务”帐户是用户组的成员之一,它拥有与“网络服务”帐户相同的用户权限,但仅限于在本地计算机上使用。当应用程序池中的工作进程不需要访问它所运行在的 Web 服务器以外的内容时,可以使用此帐户。
- LocalSystem “本地系统”帐户拥有所有用户权限,它是 Web 服务器上的管理员组的成员之一。应尽可能避免使用“本地系统”帐户,因为它会给 Web 服务器带来更严重的安全风险。
- NetworkService “网络服务” 帐户是 Users 组的成员之一,并拥有运行应用程序所需的用户权限。通过使用计算机帐户的凭据,它可以在整个基于 Active Directory 的网络上进行交互。
如果应用程序池选择的是 ApplicationPoolIdentity , 这个账户的权限很低, 只属于 IIS_IUSRS 用户组, 甚至不属于 Users 用户组, 而应用程序又需要访问本地文件系统 (比如日志输出) , 就需要为 ApplicationPoolIdentity 账户设置 NTFS 权限, 这个账户在安全对话框是找不到的, 只能手工输入 IIS APPPOOL\{app pool name} 进行设置。
通过查看 IIS_IUSRS 用户组的属性可以看到全部的“应用程序池标识”账户, 如下图: