Recientemente nos hemos actualizado a IIS7 como un servidor web central y necesito una visión general en términos de permisos. Anteriormente, cuando necesitaba escribir en el sistema de archivos, le habría dado al usuario de AppPool (Servicio de red) acceso al directorio o archivo.
En IIS7 veo, por defecto, el usuario de AppPool está configurado en ApplicationPoolIdentity
. Entonces, cuando reviso el administrador de tareas, veo que una cuenta de usuario llamada 'WebSite.com' está ejecutando el proceso IIS ('Website.com' es el nombre del sitio web en IIS)
Sin embargo, esta cuenta de usuario no existe si trato de usarla para otorgar permisos. Entonces, ¿cómo determino a qué usuario otorgar los permisos también?
Editar ================================================= =============================
Vea a continuación el problema en la captura de pantalla. Nuestro sitio web (www.silverchip.co.uk) funciona con el nombre de usuario SilverChip.co.uk. Sin embargo, cuando agrego permisos, ¡este usuario no existe!
================================= Ver imagen de AppPool
fuente
Respuestas:
ApplicationPoolIdentity es en realidad la mejor práctica para usar en IIS7 +. Es una cuenta sin privilegios creada dinámicamente. Para agregar seguridad del sistema de archivos para un grupo de aplicaciones en particular, consulte "Identidades del grupo de aplicaciones" de IIS.net . La versión rápida:
Si el grupo de aplicaciones se llama "DefaultAppPool" (solo reemplace este texto a continuación si se llama de manera diferente)
fuente
IIS AppPool\silverchip.co.uk
. Sin embargo, no he probado puntos en los nombres de seguridad; es posible que desee cambiarlo a algo sin puntuación.enable load user profile
quetrue
en la configuración del grupo de aplicaciones. Y solo después de esta configuración pude ejecutar la aplicación. Por lo tanto, actualice sus instrucciones y agregue el noveno punto.Recuerde usar el nombre local del servidor, no el nombre de dominio, al resolver el nombre
(solo un recordatorio porque esto me hizo tropezar un poco):
fuente
Dar acceso al usuario de IIS AppPool \ YourAppPoolName puede no ser suficiente con las configuraciones predeterminadas de IIS.
En mi caso, aún tenía el error HTTP Error 401.3 - No autorizado después de agregar el usuario de AppPool y se solucionó solo después de agregar permisos al usuario de IUSR .
Esto es necesario porque, de forma predeterminada, el acceso anónimo se realiza mediante el IUSR . Puede configurar otro usuario específico, el grupo de aplicaciones o continuar usando el IUSR, pero no olvide establecer los permisos adecuados.
Créditos a esta respuesta: Error HTTP 401.3 - No autorizado
fuente
En Windows Server 2008 (r2) no puede asignar una identidad de grupo de aplicaciones a una carpeta a través de Propiedades-> Seguridad. Sin embargo, puede hacerlo a través de un símbolo del sistema de administrador usando lo siguiente:
fuente
Parte A: Configuración de su grupo de aplicaciones
Supongamos que el grupo de aplicaciones se llama 'MyPool' Vaya a 'Configuración avanzada' del grupo de aplicaciones desde el Administrador de IIS
Desplácese hacia abajo hasta 'Identidad'. Al intentar editar el valor, aparecerá un cuadro de diálogo. Seleccione 'Cuenta integrada' y debajo de ella, seleccione 'ApplicationPoolIdentity'.
Algunas líneas debajo de 'Identidad', debería encontrar 'Cargar perfil de usuario'. Este valor debe establecerse en 'Verdadero'.
Parte B: Configurando su sitio web
Parte C: Configurando tu carpeta
La carpeta en cuestión es C: \ Lo que sea
Ahora debería poder usar el navegador del sitio web
fuente
Respuesta principal de Jon Adams
Aquí se explica cómo implementar esto para la gente de PowerShell
fuente
Solo para agregar a la confusión, el cuadro de diálogo Permisos efectivos (Windows Explorer) no funciona para estos inicios de sesión. Tengo un sitio "Umbo4" que usa autenticación de paso y miré los Permisos efectivos del usuario en la carpeta raíz del sitio. La prueba Comprobar nombres resolvió el nombre "IIS AppPool \ Umbo4", pero los Permisos efectivos muestran que el usuario no tenía ningún permiso en la carpeta (todas las casillas de verificación no están marcadas).
Luego excluí a este usuario de la carpeta explícitamente, usando la pestaña Seguridad de Explorer. Esto dio como resultado que el sitio fallara con un error HTTP 500.19, como se esperaba. Sin embargo, los permisos efectivos se veían exactamente como antes.
fuente
Solucioné todos mis problemas de asp.net simplemente creando un nuevo usuario llamado IUSER con una contraseña y lo agregué al Servicio de red y Grupos de usuarios. A continuación, cree todos sus sitios y aplicaciones virtuales, configure la autenticación en IUSER con su contraseña ... configure el acceso a archivos de alto nivel para incluir IUSER y BAM, solucionó al menos 3-4 problemas, incluido este.
Dave
fuente