Eso es porque estas son dos cosas diferentes. IIS_IUSRS es el grupo para las cuentas de proceso de trabajo de IIS . Esto significa la identidad con la que se ejecuta el grupo de aplicaciones. IUSR es la identidad anónima del usuario. Eso significa la identidad que IIS cree que es el usuario que accede al sitio.
Ahora, a pesar de que no lo dijiste, déjame adivinar: ¿esta aplicación es asp clásica? (De lo contrario, si es .Net, entonces debe estar utilizando la suplantación). De cualquier manera, lo que sucede es que se accede a los recursos como la identidad suplantada, es decir, el usuario anónimo en su caso, es decir, IUSR. Es por eso que tienes que otorgarle los derechos. En .Net, si desactiva la suplantación, encontrará que IIS_IUSRS entrará en juego como esperaba. En ASP clásico (y para archivos estáticos), no tiene otra opción, la suplantación siempre está "habilitada"; entonces siempre se usa la identidad del usuario, no la identidad del grupo. Entonces, dado que IIS_IUSRS es para identidades de grupo, no está en juego.
Editar después de que OP agregó más información:
Es fácil confundir IUSR e IIS_IUSRS debido a sus nombres. Para ver que son diferentes es recordar que IIS_IUSRS es un reemplazo para IIS_WPG en IIS6, que era el Grupo de Procesos de Trabajadores. A estos grupos agrega cuentas bajo las cuales desea ejecutar sus grupos, no identidades anónimas, se supone que los privilegios anonimos son más limitados. p.ej. a veces es posible que desee utilizar una cuenta de dominio para ejecutar el grupo para la delegación de Kerberos a otros recursos de red. Luego agregaría esa cuenta de servicio a este grupo.
Cuando se habilita la suplantación, el grupo / proceso finge ser el usuario porque se lo dijeron. En caso de anon auth (su caso), ese usuario es IUSR. En caso de autenticación de Windows, sería la identidad de Windows \ Domain del usuario. Esta es también la razón por la que obtiene un rendimiento exitoso con la suplantación, porque el proceso tiene que cambiar a una identidad diferente para acceder a los recursos.
Si está utilizando .NET y autenticación anónima, entonces no veo por qué habilitaría la suplantación. En caso de que no esté utilizando o no necesite suplantación, debe tener en cuenta algunos trucos más en el caso de IIS7: puede hacer que su IUSR desaparezca por completo y poner fin a toda confusión. Creo que te gustaría, y es mi método preferido también. Todo lo que tiene que hacer es decirle que reutilice la identidad del grupo como identidad anónima .
Entonces, después de esto, solo tendrá que tratar con el grupo IIS_IUSRS. Pero no se confunda, ¡esto todavía no significa que estos dos sean iguales! ¡Es posible que la identidad del proceso sustituya a IUSR, pero no al revés!
Algunos trucos más de IIS7 a tener en cuenta: si mira IIS_IUSRS, puede estar vacío. Esto se debe a que las identidades de su grupo virtual se agregan automáticamente cuando comienza el grupo, por lo que no tiene que preocuparse por estas cosas.
Esta tabla debería ayudar a aclarar mejor cómo se determina la identidad de ejecución del subproceso:
Suplantación de recursos de acceso anónimo accedido como
Habilitado Habilitado IUSR_computer en IIS5 / 6 o,
IUSR en IIS7 o,
Si cambió la cuenta de usuario anon
en IIS, lo que sea que establezca allí
Habilitado Deshabilitado MYDOM \ MyName
Disabled Enabled NT Authority \ Network Service (identidad de grupo)
Disabled Disabled NT Authority \ Network Service (identidad de grupo)