Aquí hay un problema con IIS 7.5 y ASP.NET que he estado investigando y con el que no llegué a ninguna parte. Cualquier ayuda sería muy apreciada.
Mi pregunta es: usando ASP.NET en IIS 7.5, ¿cómo permite IIS y / o el sistema operativo que la aplicación web escriba en una carpeta como C:\dump
cuando se ejecuta con plena confianza? ¿Cómo es que no tengo que agregar explícitamente acceso de escritura para el usuario del grupo de aplicaciones (en este caso ApplicationPoolIdentity
)?
Esto lo sé:
- En IIS 7.5, la identidad predeterminada para un grupo de aplicaciones es
ApplicationPoolIdentity
. ApplicationPoolIdentity
representa una cuenta de usuario de Windows llamada "IIS APPPOOL \ AppPoolName", que se crea cuando se crea el grupo de aplicaciones, donde AppPoolName es el nombre del grupo de aplicaciones.- El usuario "IIS APPPOOL \ AppPoolName" es, por defecto, un miembro del
IIS_IUSRS
grupo. - Si está ejecutando bajo Plena confianza, su aplicación web puede escribir en muchas áreas del sistema de archivos (con exclusión de carpetas como
C:\Users
,C:\Windows
, etc.). Por ejemplo, la aplicación tendrá acceso a escritura en algunas carpetas, como,C:\dump
. - De forma predeterminada, el
IIS_IUSRS
grupo no tiene acceso de lectura o escrituraC:\dump
(al menos no acceso visible a través de la pestaña "Seguridad" en el Explorador de Windows). - Si niega el acceso de escritura
IIS_IUSRS
, obtendrá una SecurityException cuando intente escribir en la carpeta (como se esperaba).
Entonces, teniendo todo eso en cuenta, ¿cómo se otorga acceso de escritura al usuario "IIS APPPOOL \ AppPoolName"? El proceso w3wp.exe se ejecuta como este usuario, entonces, ¿qué le permite a este usuario escribir en una carpeta a la que no parece tener acceso explícito?
Tenga en cuenta que entiendo que esto probablemente se hizo por conveniencia, ya que sería difícil otorgarle a un usuario acceso a cada carpeta en la que necesita escribir si se está ejecutando con Full Trust. Si desea limitar este acceso, siempre puede ejecutar la aplicación en Confianza media. Estoy interesado en conocer la forma en que el sistema operativo y / o IIS permite que estas escrituras se lleven a cabo, aunque parece que no hay acceso explícito al sistema de archivos otorgado.