none
IIS7.5的ApplicationPoolIdentity用户权限 RRS feed

  • 问题

  • 请教个问题:

        在Windows Server 2008 R2中的IIS 7.5中新建一个web站点使用的默认用户标识应该是ApplicationPoolIdentity,这个也就是应用程序池自己名称这个虚拟账户;我把web站点根目录从父项继承的权限都删除了,取消了该根目录从父项继承权限的设置,然后只保留了administrator这一个用户对站点根目录的完全控制权限,结果再访问这个站点就无法访问了,报权限不足,后来我通过这种格式“IIS AppPool\应用程序池名称”把应用程序池标识用户添加到了站点根目录,授予完全控制的权限,还是无法访问;后来又吧users组添加到该web站点根目录,授予普通的读取权限,结果该站点页面就可以正常访问了;麻烦问一下为什么在站点根目录下面添加了“ApplicationPoolIdentity用户标识”完全控制的权限站点还是不能正常访问?为什么在站点根目录添加了users组的普通读取权限,站点就可以访问了,是因为“ApplicationPoolIdentity用户标识”这个内置的虚拟账户默认属于users组吗?
        谢谢

    2013年5月24日 8:25

答案

  • 谢谢;从这个看的话“applicationpoolidentity”这个用户应该属于USERS、IIS_IUSRS等多个组是吧?那为什么通过“IIS_AppPool\应用程序池名称”方法把这个用户添加到web站点根目录,并授予完全控制的权限的时候,站点不能正常访问那?

    再次拿出另一个Sysinternls工具ProcessMonitor,我看到是这样的。你呢?

    然后,我往网站目录的NTFS里加IUSR读权限后,就可以访问了

    ---------------------------------------------------------------------

    最后发现,只要把站点的匿名身份验证的凭据(原本默认是特定用户 IUSR)改为applicationpoolidentity,那么站点目录的NTFS里把IUSR去掉,只剩applicationpoolidentity的读权限,也OK了


    2013年5月24日 10:27

全部回复

  • 通过ProcessExplorer,可以看到它是隶属于Users组

    2013年5月24日 9:18
  • 谢谢;从这个看的话“applicationpoolidentity”这个用户应该属于USERS、IIS_IUSRS等多个组是吧?那为什么通过“IIS_AppPool\应用程序池名称”方法把这个用户添加到web站点根目录,并授予完全控制的权限的时候,站点不能正常访问那?
    2013年5月24日 9:39
  • 谢谢;从这个看的话“applicationpoolidentity”这个用户应该属于USERS、IIS_IUSRS等多个组是吧?那为什么通过“IIS_AppPool\应用程序池名称”方法把这个用户添加到web站点根目录,并授予完全控制的权限的时候,站点不能正常访问那?

    再次拿出另一个Sysinternls工具ProcessMonitor,我看到是这样的。你呢?

    然后,我往网站目录的NTFS里加IUSR读权限后,就可以访问了

    ---------------------------------------------------------------------

    最后发现,只要把站点的匿名身份验证的凭据(原本默认是特定用户 IUSR)改为applicationpoolidentity,那么站点目录的NTFS里把IUSR去掉,只剩applicationpoolidentity的读权限,也OK了


    2013年5月24日 10:27
  • 好的 多谢,我也试试
    2013年5月31日 6:39
  • 在问大家一个问题:

    第一个现象:

    发现一个这样的现象,就是新建一个站点后,把该站点根目录的从父亲项继承权限的属性去掉,并且配置system组完全控制,administrators组完全控制,users组完全控制,这样就和不去掉父项继承的时候完全一样。不过这是站点应用程序池启动失败;然后怀疑是applicationpoolidentity权限的问题,通过iis apppool\站点标示名称 的方式添加站点标示用户到站点根目录,并赋予完全控制的权限,这样站点应用程序池启动就成功了。

    第二个现象:

    在新建站点前,先把将要作为站点根目录的目录从父亲项继承权限的属性去掉,并且配置system组完全控制,administrators组完全控制,users组完全控制,这样就和不去掉父项继承的时候完全一样。然后使用该目录作为根目录新建一个站点,该站点的应用程序池启动成功。

    疑问:

    1. 为什么先去掉从父项继承属性,然后再建站点,applicationpoolidentity权限就没有问题,站点应用程序池就可以启动成功那?

    2. applicationpoolidentity用户的权限是如何和目录权限联系起来的那,在不更改父项继承权限的情况下,我们默认看不到该用户,但是站点同样可以正常启动。

    2013年5月31日 7:42