write network application app iis-7 permissions

iis-7 - network - iis permissions to write to folder



DescripciĆ³n general de los permisos de IIS7-ApplicationPoolIdentity (8)

ApplicationPoolIdentity es en realidad la mejor práctica para usar en IIS7. Es una cuenta creada dinámicamente, sin privilegios. 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" (simplemente reemplace este texto a continuación si tiene un nombre diferente)

  1. Abra el Explorador de Windows
  2. Seleccione un archivo o directorio.
  3. Haga clic derecho en el archivo y seleccione "Propiedades"
  4. Seleccione la pestaña "Seguridad"
  5. Haga clic en "Editar" y luego en el botón "Agregar"
  6. Haga clic en el botón "Ubicaciones" y asegúrese de seleccionar la máquina local . ( No es el dominio de Windows si el servidor pertenece a uno).
  7. Ingrese " IIS AppPool / DefaultAppPool " en el cuadro de texto "Ingrese los nombres de objeto para seleccionar:". (No olvides cambiar "DefaultAppPool" aquí a lo que hayas llamado tu grupo de aplicaciones).
  8. Haga clic en el botón "Comprobar nombres" y haga clic en "Aceptar".

Recientemente hemos actualizado a IIS7 como un servidor web central y necesito una descripción general en cuanto a los permisos. Anteriormente, al tener que escribir en el sistema de archivos, habría dado al usuario de AppPool (Servicio de red) acceso al directorio o archivo.

En IIS7 veo, como predeterminado, el usuario de AppPool está establecido en ApplicationPoolIdentity . Entonces, cuando reviso el administrador de tareas, veo que una cuenta de usuario llamada ''WebSite.com'' está ejecutando el Proceso de IIS (''Website.com'' es el nombre del sitio web en IIS)

Sin embargo, esta cuenta de usuario no existe si intento usarla para otorgar permisos. Entonces, ¿cómo puedo determinar a qué usuario dar 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 pemissions, este usuario existe!

================================ See AppPool Image


Dar acceso al usuario 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 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 configurar los permisos apropiados.

Créditos para esta respuesta: Error HTTP 401.3 - No autorizado


En Windows Server 2008 (r2) no puede asignar una identidad de grupo de aplicaciones a una carpeta a través de Propiedades-> Seguridad. Puede hacerlo a través de un símbolo del sistema de administración usando lo siguiente:

icacls "c:/yourdirectory" /t /grant "IIS AppPool/DefaultAppPool":(R)


La mejor respuesta de Jon Adams

Aquí es cómo implementar esto para la gente de PowerShell

$IncommingPath = "F:/WebContent" $Acl = Get-Acl $IncommingPath $Ar = New-Object system.security.accesscontrol.filesystemaccessrule("IIS AppPool/DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow") $Acl.SetAccessRule($Ar) Set-Acl $IncommingPath $Acl


Recuerde usar el nombre local del servidor, no el nombre de dominio, cuando resuelva el nombre "IIS AppPool / DefaultAppPool" (solo un recordatorio porque esto me hizo tropezar un poco):


Solo para agregar a la confusión, el cuadro de diálogo Permisos efectivos (Explorador de Windows) no funciona para estos inicios de sesión. Tengo un sitio "Umbo4" que utiliza autenticación de paso, y miré los permisos efectivos del usuario en la carpeta raíz del sitio. La prueba Verificar 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 sin marcar).

Luego excluí a este usuario de la carpeta explícitamente, usando la pestaña Seguridad del Explorador. Esto provocó que el sitio fallara con un error HTTP 500.19, como se esperaba. Sin embargo, los permisos efectivos se veían exactamente igual que antes.


Solucioné todos mis problemas de asp.net simplemente creando un nuevo usuario llamado IUSER con una contraseña y agregando el Servicio de red y los Grupos de usuarios. Luego cree todos sus sitios virtuales y las aplicaciones configuran la autenticación en IUSER con su contraseña. Establezca el acceso de archivos de alto nivel para incluir IUSER y BAM. Se solucionaron al menos 3-4 problemas, incluido este.

Dave


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

  1. Desplácese hasta ''Identidad''. Intentando editar el valor aparecerá un cuadro de diálogo. Seleccione ''Cuenta incorporada'' y debajo de ella, seleccione ''ApplicationPoolIdentity''.

  2. Unas pocas líneas debajo de ''Identidad'', debe encontrar ''Cargar perfil de usuario''. Este valor debe establecerse en ''Verdadero''.

Parte B: Configuración de su sitio web

  1. Nombre del sitio web: Nombre del sitio (solo un ejemplo)
  2. Ruta física: C: / Lo que sea (solo un ejemplo)
  3. Conectar como ...: Usuario de la aplicación (autenticación de paso) (la configuración anterior se puede encontrar en "Configuración básica" del sitio en el Administrador de IIS)
  4. Después de configurar los ajustes básicos, busque la configuración de ''Autenticación'' en ''IIS'' en la consola principal del sitio. Abrelo. Debería ver una opción para ''Autenticación anónima''. Asegúrese de que esté habilitado. Luego haga clic derecho y ''Editar ...''. Seleccione ''Identidad de grupo de aplicaciones''.

Parte C: Configuración de su carpeta

La carpeta en cuestión es C: / Whatever

  1. Vaya a Propiedades - Compartir - Uso compartido avanzado - Permisos, y marque ''Compartir esta carpeta''
  2. En el mismo cuadro de diálogo, encontrará un botón ''Permisos''. Pinchalo.
  3. Se abrirá un nuevo cuadro de diálogo. Haga clic en ''Añadir''.
  4. Se abrirá un nuevo cuadro de diálogo ''Seleccionar usuarios o grupos''. En "Desde esta ubicación", asegúrese de que el nombre sea el mismo que el de su equipo host local. Luego, en ''Ingrese los nombres de los objetos'', escriba ''IIS AppPool / MyPool'' y haga clic en ''Comprobar nombres'' y luego en ''Aceptar''
  5. Dar permisos de uso compartido para el usuario ''MyPool''. Aplícalo y cierra las propiedades de la carpeta.
  6. Abra las propiedades de la carpeta de nuevo. Esta vez, vaya a Seguridad - Avanzada - Permiso, y haga clic en Agregar. Habrá una opción ''Seleccionar un Principal'' en la parte superior, o alguna otra opción para elegir un usuario. Pinchalo.
  7. Se abrirá de nuevo el cuadro de diálogo ''Seleccionar usuarios o grupos''. Repita el paso 4.
  8. Conceda todos los permisos que necesite al usuario ''MyPool''.
  9. Marque ''Reemplazar todos los permisos de objetos secundarios ... "y Aplicar y cerrar.

Ahora deberías poder utilizar el navegador web.