write usuario usr password iusr iis_usr iis_iusrs asp.net iis-7 file-permissions

asp.net - usuario - usr iis



No se puede leer el archivo de configuraciĆ³n debido a permisos insuficientes (30)

Recientemente he encontrado un error al intentar alojar mi sitio asp.net con IIS. He encontrado una solución que muchos juran por.

Solución:

  1. Agregue IIS_IUSRS con permiso de lectura en los archivos de la carpeta
  2. Cambiar el método de autenticación de IIS a BasicAuthentication
  3. actualizar el sitio web. Funcionará

( http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html )

¿Qué agrego a mi archivo web.config aunque? Nunca he tenido que editarlo antes. Aquí está su contenido actual:

<?xml version="1.0"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/> </system.web> </configuration>

Mi error es:

Error de configuración: no se puede leer el archivo de configuración debido a permisos insuficientes
Archivo de configuración: /? / C: / Users ***** / Documents / Visual Studio2010 / WebSites / PointsForTime / web.config


Nota del editor: ¡Hacer lo que dice esta respuesta es DANGEROUS ! La cuenta LocalSystem es un ...

Cuenta completamente confiable, más que la cuenta del administrador. No hay nada en una sola casilla que esta cuenta no pueda hacer, y tiene el derecho de acceder a la red como la máquina (esto requiere Active Directory y otorgar los permisos de la cuenta de la máquina a algo)

Cambiar la identidad de ApplicationPoolIdentity a LocalSystem hizo el trabajo;).

Estoy usando win7 64 con IIS 7.5

más sobre la identidad del grupo de aplicaciones en IIS 7.5 y gana 7


  1. Ir a IIS, (sitios)
  2. Haga clic derecho en el proyecto dentro de los sitios. introduzca la descripción de la imagen aquí

y haga clic en el permiso de edición.

  1. Ve a la seguridad.

  2. Haga clic en el botón Editar.

  3. haga clic en el botón Agregar. escriba COMPUTER_NAME / IIS_USERS

    o

  4. haga clic en avanzar.

  5. Haga clic en el botón Buscar ahora.

    y hay opción para elegir. elija IIS_USERS y haga clic en ok ... ok .... ok.


A veces, si es un servidor nuevo, necesita configurar o instalar la función ASP.NET en IIS para que pueda leer su archivo web.config.

En mi caso esta fue la razón.


Asegúrese de que su archivo web.config no esté marcado como Solo lectura


Cambiar la identidad del modelo de proceso a LocalSystem solucionó este problema para mí. Puede encontrar esta configuración si hace clic derecho en el grupo de aplicaciones y selecciona "Configuración avanzada". Estoy ejecutando IIS 7.5.


Cambie su proyecto a otro disco que no sea C: Me funcionó con el mismo error.


Ciertamente, este es un problema con los permisos. Tomé los siguientes pasos y funcionó para mí.

  1. Seleccione su sitio web o aplicación en la esquina izquierda. En la mayoría de los casos estaría bajo el sitio web predeterminado .
  2. haga clic en Configuración básica en la esquina derecha en IIS Manager 7 o superior.
  3. Haga clic en Conectar como botón.
  4. Utilice " usuario específico ", haga clic en el botón configurar.
  5. Ingrese su nombre de usuario y contraseña. como dominio / nombre de usuario . para mí fue como ABC / rrajkumar, ingrese la contraseña.
  6. reinicie IIS, navegue por su sitio web. Debería funcionar ahora.

Cuando otorga permisos a IIS_IUSRS , debe verificar que en la sección IIS / Autenticación de su aplicación web, las credenciales de autenticación anónimas utilicen la identidad del grupo de aplicaciones y no IUSR.


Di permiso y utilicé ICACLS.exe pero no funcionó. Luego cambié el camino físico y funcionó con éxito.

(IIS 8.5 windows 2012 R2)


En mi caso, estaba tratando de alojar páginas desde una unidad asignada (subst). El problema es que el subst se ejecutó bajo mi cuenta y el usuario de IIS no puede ver la misma unidad


Esto nos sucedió cuando la aplicación IIS tiene un Directorio virtual con una ruta física que contiene barras diagonales / en lugar de barras diagonales / . Esto se hizo accidentalmente utilizando una API de administración de powershell para IIS durante nuestro proceso de entrega continua.

Ejemplo de configuración incorrecta - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http"> <virtualDirectory path="/" physicalPath="C:/inetpub/MySite/MyService" /> </application>

Asegúrese de que el atributo physicalPath no contenga barras diagonales / , solo barras diagonales /

Ejemplo de configuración corregida - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http"> <virtualDirectory path="/" physicalPath="C:/inetpub/MySite/MyService" /> </application>


Haga clic derecho en Web.Config => Tab Seguridad => Botón Editar => Botón Agregar => Botón Avanzado => Botón Buscar ahora => En los resultados de búsqueda, seleccione su grupo (en nuestro caso "IIS_IUSRS") => Ok => Ok => De acuerdo


Haga que el archivo sea accesible para el grupo IIS_IUSRS . Haga clic derecho en su web.config, expanda las propiedades y, en la pestaña de seguridad, agregue IIS_IUSRS. Déle al grupo acceso de lectura / escritura.

Cuando el grupo NO esté disponible, reemplace IIS_IUSRS por ComputerName / IIS_IUSRS


La solución aceptada no fue para mí. Uso un repositorio de Git y se clona en la siguiente carpeta.

c:/users/myusername/source/repos/myWebSite

Hice un nuevo sitio web de IIS y lo señalé en el camino. Que no tenía los permisos iis_iusrs sugeridos en la solución aceptada. Cuando agregué los permisos todavía no funcionó.

Solo comenzó a funcionar cuando le di los siguientes permisos al grupo ''Usuarios'' y la herencia en cascada los permisos a web.config. Probablemente debería haberlo aplicado solo a web.config para reducir el área de superficie de ataque.



No hay problema con su web.config . Su sitio web se ejecuta bajo un proceso. En iis puedes definir la identidad de ese proceso. La identidad que, el grupo de aplicaciones de su sitio web se ejecuta como ( Servicios de red, Sistema local , etc.), debe tener permiso para acceder y leer el archivo web.config.

Actualizar:

Esta respuesta actualizada es la misma que la anterior, pero un poco más larga, simple y mejorada.

En primer lugar : no tiene que cambiar nada en su archivo de configuración. Esta bien El problema es con los permisos de archivos de Windows .

Este problema ocurre porque su aplicación no puede acceder y leer el archivo web.config .

Hacer el archivo accesible al grupo IIS_IUSRS . Simplemente haga clic derecho en web.config y haga clic en propiedades , en la pestaña de seguridad , agregue IIS_IUSRS .

Entonces, ¿qué es esta cosa IIS_IUSRS?

Su sitio web es como un archivo exe . Al igual que cualquier archivo exe, debe ser iniciado por un usuario y se ejecuta de acuerdo con los permisos asignados a ese usuario.

Cuando se inicia su sitio en IIS , el Grupo de aplicaciones de su sitio web está asociado con un usuario ( Servicios de red, Sistema local , etc.) (y se puede cambiar en IIS)

Entonces, cuando dice IIS_IUSRS , significa cualquier usuario ( Servicios de red, Sistema local , etc.) con el que se ejecute su sitio.

Y como @Seph mencionó en el comentario a continuación : Si su computadora está en un dominio , recuerde que el grupo IIS_IUSRS es un grupo local . También asegúrese de que cuando intenta encontrar a este usuario, verifique la ubicación, debe configurarse en una computadora local y no en un dominio corporativo.


No tienes que cambiar nada en tu web.config.

El problema son los permisos del sistema de archivos. Sus permisos de archivo no permiten que el usuario IIS_IUSRS acceda a web.config (o probablemente a cualquiera de los archivos). Cambie sus permisos de archivo en Windows para permitir que la cuenta IIS_IUSRS acceda a ella.


Para mí, el error apareció durante la depuración en mi máquina local y resultó estar relacionado con la base web.config, que es iniciado por .NET Framework al compilar el sitio web. Mi archivo C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / Config / web.config tenía un elemento no reconocido (folderLevelBuildProviders). Arreglando esto arreglamos el error 500.19.

Vea esto: IIS Manager no puede configurar .NET Compilation en aplicaciones .NET 4


Por alguna razón, su web.config está configurado como solo lectura. Desmarque la opción de solo lectura del archivo web.config.


Recibí este mensaje de error que se debió a que mi carpeta física se encontraba en una unidad de red en lugar de la unidad local. Parece que los permisos en tales unidades por defecto pueden ser diferentes. Por ejemplo, mientras que la ubicación de la unidad local dio permiso a los usuarios de la computadora local, la ubicación de la red no.

Además, la respuesta aceptada no funciona para tal caso. Los usuarios locales o los usuarios de IIS no estaban disponibles para asignar permisos. La solución fue mover la carpeta física a la unidad local.


Resolví esto agregando permiso de lectura a la carpeta para el usuario del grupo de aplicaciones (WIN SERVER 2008 R2): C: / Windows / System32 / inetsrv / config

Un poco de historia: nuestro servidor ha sido pirateado utilizando el error clásico donde el usuario de la aplicación tenía más permisos de los que debería (administrador local).

Para solucionarlo, creamos un nuevo usuario de dominio que solo tenía permisos en la carpeta de la aplicación, con los derechos mínimos necesarios y lo asignamos como usuario del grupo de aplicaciones. De lo que nos topamos en el tema y esto fue solución a nuestros problemas.


También estaba recibiendo el mensaje "No se puede leer el archivo de configuración debido a permisos insuficientes". Resulta que las restricciones ISAPI y CGI en IIS para ASP.NET 4.0 de 32 bits y 64 bits se configuraron para denegar. Marcando ambos a Permitido solucioné mi problema.


Tenía este problema con una aplicación virtual. Todos los permisos fueron establecidos. IIS_IUSRS, AppPoolIdentity y luego dio acceso completo a Todos. Nada funcionó. Reiniciado apppool, sitio y IIS pero No ir.

Se eliminó la aplicación virtual, se volvió a agregar desde cero y comenzó a funcionar.

Ojalá supiera lo que lo resolvió.


Teníamos un sitio web que se ejecuta con una identidad específica en el conjunto de aplicaciones, solo después de dar a ese usuario acceso de lectura a la carpeta que contiene web.config funcionaría. Rastreamos esto después de agregar el usuario ''todos'' con lectura y todo funcionó bien.


Tuve el mismo problema cuando intenté compartir la carpeta raíz del sitio con otro usuario. Algunas carpetas perdieron el permiso. Así que seguí los pasos para agregar permiso al grupo IIS_IUSRS según lo sugerido por Afshin Gh. El problema es que este grupo no estaba disponible para mí. Estoy usando windows 7.

Lo que hice acabo de cambiar algunos pasos:

  1. Haga clic derecho en la carpeta principal (quien perdió el permiso),
  2. Propiedades => Seguridad => En "Nombres de grupos o usuarios:",
  3. Haga clic en Editar ...
  4. Se abrirá la ventana "Permiso para su carpeta".
  5. En "Nombres de grupos o usuarios:" presione AÑADIR ... btn,
  6. Escriba Authen y pulse Comprobar nombres,
  7. Verá el nombre completo del grupo " Usuarios autenticados "
  8. Presione ok => aplicar.
  9. Esto debería habilitar los privilegios de nuevo.

Eso funcionó para mí.


Tuve el mismo problema y después de hacer todas las cosas escritas aquí como respuestas, todavía se reproducía. La segunda mitad del problema fue el hecho de que .NET se desactivó en "Activar o desactivar las características de Windows"


Tuve lo que parecía ser el mismo problema de permisos en el archivo web.config .
Sin embargo, mi problema se debió a que IIS no pudo cargar el archivo de configuración porque contenía reglas de reescritura de URL y no había instalado el módulo de reescritura de URL de IIS en el nuevo servidor.

Solución: Instale el módulo de reescritura.
Espero que salve a alguien unas horas.


Utilicé subst para crear una asignación de D: a C: para mantener la misma configuración que otros desarrolladores en el equipo. Esto también me dio los mismos errores que se describen. Eliminando esto lo arreglé para mí.


Vaya a la carpeta principal, haga clic con el botón derecho y seleccione Propiedades . Seleccione la pestaña Seguridad , edite los permisos y Agregar . Haga clic en Avanzado y en Buscar ahora . Seleccione IIS_IUSRS y haga clic en Aceptar y Aceptar de nuevo. Asegúrate de que tienes cheque de escritura . Haga clic en Aceptar y Aceptar de nuevo.

¡Trabajo hecho!


compruebe si el archivo no está marcado como de solo lectura , a pesar del permiso IIS_IUSRS mostrará el mismo mensaje.