Не удалось прочитать файл конфигурации из за отсутствия необходимых разрешений
- Добавить IIS_IUSRS с разрешением на чтение для файлов в папке
- Измените метод проверки подлинности IIS на BasicAuthentication
- обновите сайт. Это сработает
Что я могу добавить в свой файл web.config? Мне никогда раньше не приходилось его редактировать. Вот его текущее содержание:
Ошибка конфигурации: не удается прочитать файл конфигурации из-за недостаточных разрешений
Файл конфигурации: \? \ C: \ Users ***** \ Documents \ Visual Studio2010 \ WebSites \ PointsForTime \ web.config
Нет проблем с вашим web.config . Ваш веб-сайт работает в рамках процесса. В iis вы можете определить идентичность этого процесса. Удостоверение , под которым пул приложений вашего веб-сайта ( Сетевые службы, локальная система и т. Д.), Должно иметь разрешение на доступ и чтение в Интернете. .config файл.
Обновить:
Этот обновленный ответ такой же, как и выше, но немного длиннее, проще и улучшен.
Прежде всего : вам не нужно ничего менять в файле конфигурации. Все в порядке . Проблема связана с разрешениями для файлов Windows .
Эта проблема возникает из-за того, что ваше приложение не может получить доступ и прочитать файл web.config .
Сделайте файл доступным для группы IIS_IUSRS . Просто щелкните правой кнопкой мыши web.config и выберите свойства на вкладке безопасность , добавьте IIS_IUSRS .
Так что это за штука IIS_IUSRS?
Ваш веб-сайт представляет собой файл EXE . Как и любой exe-файл, он должен быть запущен пользователем и запускается в соответствии с разрешениями , назначенными этому пользователю.
Когда ваш сайт запускается в IIS , Пул приложений вашего веб-сайта связывается с пользователем ( Сетевые службы, Локальная система и т. д. . ) (и может быть изменено в IIS)
Поэтому, когда вы говорите IIS_IUSRS , это означает любого пользователя ( Сетевые службы, локальная система и т. Д. . ), что ваш сайт работает как .
И как @Seph упоминается в комментарии ниже : Если ваш компьютер находится в домене , помните, что Группа IIS_IUSRS - это локальная группа . Также убедитесь, что, когда вы пытаетесь найти этого пользователя, проверьте местоположение, он должен быть установлен на локальный компьютер, а не на корпоративный домен.
Все предоставленные ответы действительны и работают при различных обстоятельствах.
Для меня перезапуск Visual Studio сработал.
Принятое решение меня не устроило. Я использую репозиторий Git, и он клонирован в следующую папку
Я создал новый веб-сайт IIS и указал его на путь. У которого не было разрешений iis_iusrs, предложенных в принятом решении. Когда я добавил разрешения, он все еще не работал.
Он начал работать только тогда, когда я дал следующие разрешения группе «Пользователи», и наследование каскадировало разрешения для web.config. Вероятно, следовало применить его только к web.config, чтобы уменьшить площадь поверхности атаки.
Я использовал subst для создания сопоставления от D: до C:, чтобы сохранить те же настройки, что и у других разработчиков в команде. Это также дало мне те же ошибки, что и описано. Удаление этого исправило это для меня.
- добавить IIS_IUSRS с разрешением на чтение файлов в папке
- измените метод проверки подлинности IIS на BasicAuthentication
- обновить сайт. Это будет работать
что я могу добавить к моему web.хотя конфигурационный файл? Мне никогда не приходилось редактировать его перед. Вот ее содержание:
ошибка конфигурации: не удается прочитать файл конфигурации из-за недостаточных разрешений
Конфигурационный Файл:?C:Users * * * * * DocumentsVisual Studio2010WebSitesPointsForTimeweb.конфигурации
здесь нет проблем с вашей сети.конфигурации. Ваш веб-сайт работает в рамках процесса. В iis можно определить идентификатор этого процесса. Элемент identity это, ваш веб-сайт приложение бассейн работает как (Сетевые Службы, Локальная Система и т. д. . ), должны иметь разрешение на доступ и чтение интернета.конфигурационный файл.
обновление:
этот обновленный ответ, такой же, как и выше, но немного дольше, проще и лучше.
в первую очередь: вам не нужно ничего менять в вашем конфигурационном файле. все в порядке. Проблема заключается в права доступа к файлам windows.
эта проблема возникает потому, что приложения не может access и веб-читал.конфигурации.
сделать файл доступным для группу iis_iusrs группы. Просто Правой Кнопкой Мыши сеть.конфигурации и нажмите кнопку свойства, под безопасность tab, добавить группу iis_iusrs.
Так что же это за штука IIS_IUSRS?
код web site и как exe. Как и любой EXE-файл, он должен быть!--1-- > запускается пользователем и работает согласно разрешения назначенные этому пользователю.
когда ваш сайт запускается в IIS,приложения Бассейн веб-сайт (Сетевые Службы, Локальная Система и т. д. . ) (и может быть изменен в IIS)
поэтому, когда вы говорите группу iis_iusrs, это значит любой (Сетевые Службы, Локальная Система и т. д. . ), что ваш сайт работает как.
и @Seph упомянутые в комментарий ниже:если ваш компьютер находится в домене, помните, что группу iis_iusrs группа локальная группа. Также убедитесь, что при попытке найти этого пользователя проверьте расположение он должен быть установлен на локальный компьютер, а не корпоративный домен.
Примечание редактора: делать то, что говорит этот ответ опасно! Учетная запись LocalSystem-это a .
полностью доверенная учетная запись, больше, чем учетная запись администратора. В одном поле нет ничего, что эта учетная запись не может сделать, и у нее есть право доступа к сети как к машине (для этого требуется Active Directory и предоставление учетной записи машины разрешений на что-то)
изменение идентификатора с ApplicationPoolIdentity до LocalSystem сделали работу ;).
Я использую win7 64 с IIS 7.5
У меня было то, что казалось той же проблемой разрешений на .
Однако моя проблема была вызвана тем, что IIS не смог загрузить файл конфигурации, поскольку он содержал правила перезаписи URL, и я не установил модуль перезаписи URL IIS на новом сервере.устранение: установите модуль перезаписи.
Надеюсь, это сэкономит кому-то несколько часов.
- щелкните правой кнопкой мыши на родительской папке (кто потерял разрешение),
- Свойства => Безопасность =>В Группе " или имена пользователей:",
- Нажмите Кнопку "Редактировать".
- откроется окно "разрешение для вашей папки".
- в разделе "Имена групп или пользователей:" нажмите кнопку Добавить. btn,
- тип Authen и нажмите Проверить имена,
- вы увидите полное название группы"Авторизованные Пользователи"
- нажмите ok = > применить.
- это должно снова включить привилегии.
вам не нужно ничего менять в своей сети.конфиг.
проблема заключается в разрешениях файловой системы. Ваши права доступа к файлам не позволяют пользователю IIS_IUSRS получить доступ к сети.config (или, возможно, любой из файлов). Измените их права доступа к файлам в windows, чтобы разрешить учетной записи IIS_IUSRS доступ к нему.
перейдите в родительскую папку, щелкните правой кнопкой мыши и выберите свойства. Выберите безопасность вкладка, редактировать разрешения и добавить. Нажмите на Advanced и Найти. Выберите группу iis_iusrs и нажмите кнопку ОК и ОК снова. Убедитесь, что у вас есть проверка написать. Нажмите ОК и ОК снова.
работу!
сделать файл доступным для группу iis_iusrs группы. Щелкните правой кнопкой мыши на веб-сайте.конфигурация, разверните свойства и на вкладке Безопасность добавьте IIS_IUSRS. Предоставьте группе доступ на чтение/запись.
когда группа не доступно, замените IIS_IUSRS на Имя_компьютера\IIS_IUSRS
при предоставлении разрешений на группу iis_iusrs вы должны проверить, что в IIS / Authentication раздел вашего веб-приложения, учетные данные анонимной проверки подлинности использует идентификатор пула приложений, а не IUSR.
Почему-то ваш веб.конфигурация задается только для чтения. Снимите флажок только для чтения в интернете.конфигурационный файл.
- Добавить IIS_IUSRS с разрешением на чтение для файлов в папке
- Измените метод проверки подлинности IIS на BasicAuthentication
- обновите сайт. Это сработает
Но что мне добавить в файл web.config? Мне никогда раньше не приходилось его редактировать. Вот его текущее содержание:
Ошибка конфигурации: не удается прочитать файл конфигурации из-за недостаточных разрешений Файл конфигурации: \? \ C: \ Users ***** \ Documents \ Visual Studio2010 \ WebSites \ PointsForTime \ web.config
- 9 См. Установку модуля перезаписи. сэкономь несколько часов
- Моим решением было бы запускать команды из командной строки, открытой с правами администратора. Для этого найдите командную строку, щелкните ее правой кнопкой мыши и выберите запустить с правами администратора.
- В дополнение к другим ответам обратите внимание, что шифрование файловой системы (EFS) также может мешать IIS.
- Я сделал это объявление, теперь локальный хост запрашивает пароль, самое близкое, что у меня до сих пор работает, спасибо
- 1 Для меня не было IIS_IUSR, я сделал то же самое для аутентифицированного пользователя, и это сработало
Есть нет проблем с вашим web.config. Ваш веб-сайт работает в рамках процесса. В iis вы можете определить идентичность этого процесса. В идентичность что ваш веб-сайт пул приложений работает как (Сетевые службы, локальная системаи т. д.), должны иметь разрешение на доступ и чтение файла web.config.
Обновить:
Этот обновленный ответ такой же, как и выше, но немного длиннее, проще и улучшен.
Прежде всего: вам не нужно ничего менять в вашем файле конфигурации. Все нормально. Проблема с права доступа к файлам Windows.
Эта проблема возникает из-за ваше приложение не могут доступ а также читать web.config файл.
Сделайте файл доступным для IIS_IUSRS группа. Просто щелкните правой кнопкой мыши web.config и нажмите свойства, под безопасность вкладка, добавить IIS_IUSRS.
Так что же это за штука IIS_IUSRS?
Твой интернет сайт является как exe файл. Как и любой exe-файл, он должен быть запущен пользователем и это работает согласно разрешениям назначен этому пользователю.
Когда ваш сайт запущен в IIS, Пул приложений вашего веб-сайта связан с Пользователь (Сетевые службы, локальная системаИ т.д. . ) (и может быть изменено в IIS)
Итак, когда вы говорите IIS_IUSRS, это означает любой пользователь (Сетевые службы, локальная система, И т.д. . ), под которым работает ваш сайт.
И в качестве @Seph упомянутый в комментарий ниже: Если ваш компьютер находится в доменепомни это IIS_IUSRS группа это местная группа. Также убедитесь, что, когда вы пытаетесь найти этого пользователя, проверьте местоположение, он должен быть установлен на локальный компьютер, а не на корпоративный домен.
Решение: Установите модуль перезаписи.
Надеюсь, это сэкономит кому-нибудь несколько часов.
Примечание редактора: делать то, что говорится в этом ответе, ОПАСНО! Учетная запись LocalSystem - это .
Полностью доверенная учетная запись, в большей степени, чем учетная запись администратора. В одном ящике нет ничего, что эта учетная запись не могла сделать, и он имеет право на доступ к сети в качестве машины (для этого требуется Active Directory и предоставление разрешений учетной записи компьютера на что-то)
Смена личности с ApplicationPoolIdentity к LocalSystem сделал работу;).
Я использую win7 64 с IIS 7.5
подробнее об идентификации пула приложений в IIS 7.5 и победе 7
У меня была такая же проблема, когда я пытался поделиться корневой папкой сайта с другим пользователем. Какая-то папка потеряла разрешение. Итак, я выполнил шаги, чтобы добавить разрешение на IIS_IUSRS группа по предложению Афшина Г. Проблема в том, что эта группа мне недоступна. Я использую windows 7.
Что я сделал, я просто изменил несколько шагов:
Это сработало для меня.
Вам не нужно ничего менять в файле web.config.
Проблема в разрешениях файловой системы. Ваши права доступа к файлу не позволяют пользователю IIS_IUSRS получить доступ к web.config (или, возможно, к любому из файлов). Измените права доступа к файлам в Windows, чтобы позволить учетной записи IIS_IUSRS получить к ним доступ.
Сделайте файл доступным для IIS_IUSRS группа. Щелкните правой кнопкой мыши свой web.config, разверните свойства и на вкладке безопасности добавьте IIS_IUSRS. Предоставьте группе доступ для чтения / записи.
Когда группа НЕ доступно, замените IIS_IUSRS на Имя компьютера \ IIS_IUSRS
Перейдите в родительскую папку, щелкните правой кнопкой мыши и выберите Свойства. Выберите Безопасность вкладку, отредактируйте разрешения и добавлять. Нажмите на Продвинутый и Найти сейчас. Выбрать IIS_IUSRS и нажмите в порядке а также в порядке еще раз. Убедитесь, что у вас есть чек Написать. Нажмите в порядке а также в порядке еще раз.
- 21 Что, черт возьми, означает рекомендовать доступ для записи, когда все, что нужно, - это чтение? / проголосовали против
- 2 Единственный IIS *, который у меня есть, это IIS_WPG
- 1 @ B.ClayShannon Я тоже. У меня только IIS_WPG
Когда вы предоставляете разрешения IIS_IUSRS вы должны проверить это в IIS / аутентификация В разделе вашего веб-приложения учетные данные анонимной проверки подлинности используют идентификатор пула приложений, а не IUSR.
- Где взять этот интерфейс?
- На вкладке "Просмотр возможностей" в веб-приложении: Аутентификация.
- Этот ответ должен быть частью принятой причины ответа, без этого вам также необходимо добавить IUSR в список доступа папки веб-сайта.
По какой-то причине ваш web.config установлен только для чтения. Снимите флажок только для чтения в файле web.config.
- Если у вас есть полный доступ, но вы по-прежнему получаете ошибку, это правильный ответ (y).
Я использовал subst для создания сопоставления от D: до C:, чтобы сохранить те же настройки, что и у других разработчиков в команде. Это также дало мне те же ошибки, что и описано. Удаление этого исправило это для меня.
Принятое решение меня не устроило. Я использую репозиторий Git, и он клонирован в следующую папку
Я создал новый веб-сайт IIS и указал его на путь. У которого не было разрешений iis_iusrs, предложенных в принятом решении. Когда я добавил разрешения, он все еще не работал.
Все предоставленные ответы действительны и работают при разных обстоятельствах.
Для меня перезапуск Visual Studio сработал.
Это случилось с нами, когда Приложение IIS имеет Виртуальный каталог с Физический путь который содержит косые черты / вместо обратной косой черты \ . Это было случайно сделано с использованием API управления PowerShell для IIS в процессе непрерывной доставки.
Пример неверной конфигурации -
Убедитесь, что атрибут не содержит косых черт. / , только обратная косая черта \
Исправленный пример конфигурации -
- 1 В моем случае физический путь имел двойную обратную косую черту, например . Сработала замена на одинарную обратную косую черту.
Я решил это, добавив разрешение на чтение в папку для пользователя пула приложений (WIN SERVER 2008 R2): C: \ Windows \ System32 \ inetsrv \ config
Небольшая предыстория: наш сервер был взломан с использованием классической ошибки, когда у пользователя приложения было больше разрешений, чем он должен (локальный администратор).
Переместите свой проект на другой диск, кроме C: У меня работала с той же ошибкой.
Это может произойти, если ваше приложение находится в виртуальном каталоге, а путь к файлам - это подключенный диск.
Если вы измените путь к файлам на локальном диске, это решит проблему, если это действительно ваша проблема.
Приведенные выше ответы были полезны, но в случае, если это кому-то поможет - у меня была именно эта проблема, и оказалось, что я (сеть Windows) использовал корневую папку, из которой размещался сайт. Мы убили общий ресурс и добавили разрешение пользователей на чтение / выполнение, и он снова заработал нормально.
Я подозреваю, что акция все испортила.
Была эта проблема с виртуальным приложением. Все разрешения были выставлены. IIS_IUSRS, AppPoolIdentity, а затем предоставил полный доступ всем. Ничего не получилось. Перезапущен пул приложений, сайт и IIS, но нет.
Удалил виртуальное приложение и снова добавил с нуля, и оно начало работать.
Хотел бы я знать, что это решило.
Далее, принятый ответ в таком случае не работает. Локальные пользователи или пользователи IIS не были доступны для назначения разрешений. Решением было переместить физическую папку на локальный диск.
В моем случае это было причиной.
В моем случае я пытался разместить страницы с подключенного диска (subst). Проблема в том, что подстановка была запущена под моей учетной записью, и пользователь IIS не может видеть тот же диск.
Оригинальная версия продукта: службы IIS версии 7.0 и более поздних версий
Исходный номер КБ: 942055
Чтобы устранить эту ошибку, ознакомьтесь со следующими разделами для получения соответствующих сведений о коде ошибки.
Код HRESULT 0x8007000d
Эта проблема возникает из-за того, что ApplicationHost.config или Web.config содержит неопознанный или неопознанный элемент XML. IIS не может определить XML-элементы не установленных модулей. Например, модуль переписать URL-адрес IIS.
Используйте один из следующих методов:
- Удаление неправильного XML-элемента из ApplicationHost.config или Web.config файла.
- Проверьте неопознанный элемент XML и установите соответствующие модули IIS.
Код HRESULT 0x80070021
Эта проблема может возникнуть, если указанная часть файла конфигурации IIS заблокирована на более высоком уровне конфигурации.
Разблокировать указанный раздел или не использовать его на более высоком уровне. Дополнительные сведения о блокировке конфигурации см. в дополнительных сведениях об использовании блокировки в конфигурации IIS 7.0.
Код HRESULT 0x80070005
Эта проблема может возникать по одной из следующих причин:
- Вы используете IIS на компьютере, который работает Windows. Кроме того, вы настраивает веб-сайт для использования сквозной проверки подлинности Универсальной конвенции имен (UNC) для доступа к удаленной совместной акции UNC.
- Группа IIS_IUSRS не имеет соответствующих разрешений для ApplicationHost.config, Web.config или виртуальных или каталогов приложений IIS.
Используйте один из следующих методов:
Не настраивайте веб-сайт для использования сквозной проверки подлинности UNC для доступа к удаленной совместной акции UNC. Вместо этого укажите учетную запись пользователя, которая имеет соответствующие разрешения для доступа к удаленной совместной акции UNC.
Разрешить чтение группе IIS_IUSRS для ApplicationHost.config или Web.config. Для этого выполните следующие действия:
В Windows Explorer найдите папку, содержаную файл ApplicationHost.config, связанный с веб-сайтом, или найдите виртуальные каталоги или каталоги приложений, содержащие файл Web.config, связанный с веб-сайтом.
Файл Web.config не может быть в виртуальных каталогах или каталогах приложений в IIS. Даже в этой ситуации необходимо следовать этим шагам.
Щелкните правой кнопкой мыши папку, в которую ApplicationHost.config файл, или щелкните правой кнопкой мыши виртуальные или каталоги приложений, которые могут содержать Web.config файл.
Выбор свойств.
Выберите вкладку Безопасность, а затем выберите изменить.
Нажмите Добавить.
В введите имена объектов, чтобы выбрать поле, введите имя < компьютера>\IIS_IUSRS, выберите Check Names, а затем выберите ОК.
<Computername> является местообнамерщиком имени компьютера.
Выберите поле Чтение и выберите ОК.
В диалоговом окне Свойства для папки выберите ОК.
Убедитесь, что свойства папок наследуются файлами ApplicationHost.config и Web.config, чтобы IIS_IUSRS было разрешение на чтение для этих файлов.
Код HRESULT 0x800700b7
Чтобы устранить эту проблему, удалите дубликат записи ApplicationHost.config файла для правила авторизации. Для этого выполните следующие действия:
Выберите Начните, введите Блокнот в поле Начните поиск, щелкните правой кнопкой мыши Блокнот, а затем выберите Выполнить в качестве администратора.
Если вам предложен пароль администратора или подтверждение, введите пароль или выберите Продолжить.
В меню File выберите Open, введите %windir%\System32\inetsrv\config\applicationHost.config в поле Имя файла, а затем откройте.
В файле ApplicationHost.config удалите дубликат записи, напоминаемой следующему коду:
Код HRESULT 0x8007007e
Эта проблема возникает изApplicationHost.config или Web.config ссылается на модуль или DLL, которые недействительны или не существуют.
В файле ApplicationHost.config или Web.config найдите ссылку модуля или ссылку DLL, которая является недействительной, а затем исправьте ссылку. Чтобы определить, какая ссылка модуля неверна, введи трассировку неудатного запроса, а затем воспроизведи проблему.
Код HRESULT 0x800700c1
Эта проблема может возникнуть, если битность указанного модуля отличается от уровня пула приложений, на который размещено приложение. Например, вы пытаетесь загрузить 32-битный компонент в 64-битный пул приложений. Эта проблема также может возникнуть, если указанный модуль поврежден.
Убедитесь, что битность указанного модуля будет такой же, как и у пула хостинговых приложений. Кроме того, убедитесь, что модуль не поврежден.
Код HRESULT 0x8007010b
Эта проблема может возникнуть, если не удается получить доступ к указанному каталогу контента.
- Убедитесь, что путь файла существует.
- Убедитесь, что путь файла правильно назван.
- Убедитесь, что путь файла имеет правильный набор разрешений на уровне файлов.
- Убедитесь, что путь файла указывают на допустимый тип файловой системы.
Если вы не уверены в том, что такое путь к файлу, для его идентификации используйте средство отслеживания процесса или отслеживания неудающихся запросов.
Код HRESULT 0x8007052e
Удостоверение процесса по умолчанию в IIS не имеет достаточных разрешений для открытия файла Web.config удаленной доли.
Убедитесь, что учетная запись пула приложений этого веб-приложения имеет достаточно разрешений для открытия Web.config файла.
Код HRESULT 0x80070003
Эта ошибка вызвана отсутствием разрешения или физическим путем, который не соответствует пути для виртуального каталога. Например, в Web.configвеб-приложения физический корневой путь не существует.
- Убедитесь, чтоWeb.config существует и имеет правильный набор разрешений.
- Сбор журналов монитора процессов, чтобы получить дополнительные сведения об ошибке.
Устранение проблемы с файлом конфигурации IIS при обновлении windows
Как правило безопасности, все файлы конфигурации (не ограниченные IIS) должны быть резервными перед установкой какого-либо обновления. Если вы используете виртуальные машины, перед обновлением снимок виртуальной машины. Этот совет не ограничивается Windows обновлениями.
Читайте также: