IIS 7.5 (Windows 7) - Error HTTP 401.3 - No autorizado

81

Estoy tratando de probar mi sitio web ASP.Net en localhost y obtengo este error:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

Tengo los siguientes usuarios en la carpeta de aplicaciones del sitio web, con permisos completos de lectura / escritura:

  • SERVICIO DE RED
  • IIS_IUSRS
  • SISTEMA
  • Administradores
  • Nathan (yo)

¿Qué puedo tratar de arreglar esto?

Nathan Ridley
fuente
He estado persiguiendo este problema durante un par de horas. Ya tengo IUSR y Server \ IUSR tendrá el permiso de lectura. El problema mío resultó ser carpetas cifradas que se extrajeron de un archivo Zip. Si el nombre de la carpeta es verde, intente eliminar la casilla de verificación de la Configuración avanzada del cuadro de propiedades. Esto solucionó mi problema.
Lionel Morrison

Respuestas:

123

IIS 7 también crea "IUSR" como usuario predeterminado para acceder a los archivos a través de IIS. Por lo tanto, haga que el usuario IUSR tenga acceso de lectura a archivos / carpetas.

¿Cómo verificar si IUSR ha leído Access? Haga clic derecho -> Carpeta -> Propiedades -> Pestaña Seguridad Vea si IUSR está en la lista de nombres de grupos o usuarios, si no.

Haga clic en Editar -> Agregar -> Avanzado -> Buscar ahora -> Seleccione IUSR y haga clic en Aceptar cuatro veces


fuente
55
Asegúrate de buscar desde la ubicación correcta. Estaba buscando IUSR en mi dominio de trabajo y no encontré nada. Luego cambié la ubicación al nombre de mi máquina.
Mike Blandford
8
Nota: Se requiere que tanto IUSR como IIS_IUSRS tengan acceso para que funcione en mi máquina. Intenté eliminar IIS_IUSRS después de agregar IUSR, pensando que IUSR era todo lo que necesitaba, pero no funcionó.
kdawg
1
Me sorprendió que solo agregar IIS_IUSRsno fuera suficiente; También tuve que agregar IUSR. Vale la pena recordar: o)
Owen Blacker
¿Seguro que el usuario de IUSR ya es miembro de IIS_IUSRS por defecto? Mi servidor no parece mencionar IUSR en sus permisos predeterminados establecidos para wwwroot.
NickG
33

Encontré esto en otro foro, así que no puedo tomar crédito, pero lo hice y funcionó para mí:

"Intente cambiar la configuración de autenticación anónima en IIS7:

Haga clic en Autenticación y haga clic en editar después de elegir Autenticación anónima. En la ventana de apertura, seleccione Identidad del grupo de aplicaciones y haga clic en Aceptar. "


fuente
55
Esto es lo que hizo por mí.
Chris Marisic
Estoy usando la suplantación y este de alguna manera fue el problema. No estoy seguro de por qué, ¡pero funcionó!
Jarrod
Esto me impidió arrancarme todo el pelo hoy. Gracias.
pauska
En IIS 8.5, parece que el valor predeterminado para una nueva aplicación no es usar la identidad del grupo de aplicaciones, sino solo IUSR. ¡Parece que me atrapó un poco!
Patógeno el
Supongo que tiene sentido querer identidades separadas para "usuario que ejecuta el grupo de aplicaciones" y "usuario suplantado por el grupo de aplicaciones después de la autenticación 'anónima'", ¡pero solo en retrospectiva y después de encontrar esta respuesta!
Shambulator
20

Tuve el mismo problema en IIS 7.5 en Windows Server 2008. Para mí, los siguientes pasos funcionaron para solucionar el problema:

  • Abra el administrador de IIS
  • Haga clic en el sitio web que desea editar.
  • Autenticación de doble clic
  • Haga clic en Autenticación anónima , luego haga clic en Editar ... en Acciones
  • Cambie para usar las credenciales de identidad del grupo de aplicaciones en lugar del usuario específico (el mío era IUSR)

Después de hacer este cambio, mis errores 401.3 desaparecieron.

marca
fuente
10

¿Está utilizando un mecanismo de inicio de sesión o solo una autenticación anónima?

Si es anónimo, vaya al administrador de IIS, en el icono de autenticación, elija el nombre de autenticación anónima, luego haga clic en el botón Editar en Acciones. Compruebe qué usuario se especifica allí y asegúrese de que tenga permisos para los archivos / carpetas del sitio.

Si tiene alguna forma de sistema de inicio de sesión, asegúrese de que los usuarios con los que inicia sesión tengan permisos para los archivos del sitio y asegúrese de que el ID del grupo de aplicaciones en el que se está ejecutando tenga al menos acceso de lectura a los archivos.

MattB
fuente
3

De forma predeterminada, con IIS 7.5, cada grupo de aplicaciones se ejecuta bajo su propia "identidad virtual". La identidad del grupo de aplicaciones son las credenciales que se utilizan para acceder al sistema de archivos.

No estoy seguro de la mecánica de la misma, pero Microsoft hizo esto para aumentar la seguridad de la instalación predeterminada al tiempo que alivió la necesidad de crear cuentas de servicio en ciertos escenarios de instalación. De todos modos, el resultado es que tendrá que identificar esta cuenta de "identidad virtual" y otorgarle acceso a su directorio, o cambiar la cuenta de servicio del grupo de aplicaciones.

Las identidades virtuales del grupo de aplicaciones se denominan "IIS AppPool \", por lo que si está utilizando DefaultAppPool, su identidad sería "IIS AppPool \ DefaultAppPool".

Vea este artículo para más detalles completos.

ntcolonel
fuente
3

Hola para mí en el trabajo de IIS 8: 1) Vaya al directorio virtual de IIS - 2) autenticación - 3) Autenticación anónima - 4) establezca la identidad del grupo de aplicaciones.

Alex
fuente
Tanto la respuesta IUSR como esta respuesta son necesarias para una solución completa en todos los casos con los que me he encontrado
Brian Knoblauch el
2

Como ninguna de las respuestas anteriores me ayudó, pensé en compartir cómo resolví este problema cuando me topé con él en mi máquina local con win7 e IIS7.

  • Vaya a IIS7 -> Grupos de aplicaciones

    Encuentre el grupo de aplicaciones de su sitio (en mi caso, DefaultAppPool), haga clic derecho y elija Opciones avanzadas.

    Busque el capítulo Modelo de proceso y cambie el campo Identidad a un usuario que sabe con certeza que tiene acceso a los archivos en la carpeta de su sitio web (en mi caso, el administrador local)

Daniel Hedenström
fuente
2

Respondiendo para incluir información de los comentarios sobre la respuesta aceptada.

En IIS 7.5 en Windows Server 2008r2, el grupo IIS_IUSRS ya está incluido, pero el grupo IUSR separado aún debe agregarse a los permisos para permitir el acceso / descarga de archivos.

Para obtener más información sobre las diferencias en las cuentas, vea Comprender las cuentas integradas de usuarios y grupos en IIS.

Chris Pickering
fuente
1

Pruebe esto ... Vaya a Administración de computadoras (haga clic con el botón derecho en mi computadora y seleccione Administrar) -> Usuarios y grupos locales -> Usuarios -> Seleccione IUSR_MACHINENAME -> Haga clic con el botón derecho en Propiedades -> Asegúrese de que sea miembro de IIS_WPG y usuarios y no invitados.


Estoy trabajando con Server 2008 R2 y la cuenta IUser no está disponible en la lista.

Mate
fuente
1

Intente instalar el lado del cliente de IIS usando aspnet_regiis -cy luego reinicie IIS.

titilola
fuente
1

Para usuarios donde esto no es suficiente:

Lo tengo para trabajar con esto:

  • Abra la Vista de funciones de su sitio web.
  • Vaya a Asignaciones de controladores.
  • Encuentre la ruta para .cshtml
  • Haga clic derecho y haga clic en Editar permisos de funciones
  • Seleccione Ejecutar
  • Presiona OK.

Ahora intente actualizar su sitio web.

nixkuroi
fuente