Ошибка 0x80070005 в IIS означает, что веб-сервер получил «Отказано в доступе» при чтении файлов сайта, запуске пула приложений или обращении к системному ресурсу. На практике чаще всего проблема в NTFS-правах и неправильной identity у AppPool.
Выполняйте шаги ниже по порядку: от проверки пула и ACL до системной диагностики. После каждого шага перезапускайте сайт и проверяйте результат.
⚠️ Важно перед изменением прав
Создайте точку восстановления: Win + R → sysdm.cpl
→ «Защита системы» → «Создать». Это обязательный шаг перед изменением ACL и
параметров пула приложений.
Способ 1. Проверить Physical Path сайта
- Откройте IIS Manager и выберите сайт.
- Перейдите в «Basic Settings» и проверьте Physical path.
- Убедитесь, что папка существует и доступна локально.
Способ 2. Проверить AppPool identity
- Откройте «Application Pools» и выберите нужный пул.
-
Нажмите «Advanced Settings» и проверьте параметр
Identity. - Если используется кастомная учётка, проверьте её пароль и права.
Способ 3. Проверить права NTFS на папку сайта
- Откройте свойства папки сайта → «Безопасность».
- Добавьте
IIS_IUSRSили identity AppPool. -
Выдайте минимум
Read & Execute,List folder contents,Read.
Способ 4. Проверить ACL из консоли
- Откройте CMD от имени администратора.
- Проверьте ACL корневой папки сайта.
icacls "C:\inetpub\wwwroot"
icacls "C:\path\to\site" Способ 5. Проверить конфигурацию сайта и пула через appcmd
- Перейдите в каталог утилиты IIS.
- Проверьте список сайтов и пулов приложений.
cd %windir%\System32\inetsrv
appcmd list site
appcmd list apppool 💡 Совет
Если сайт работает локально, но даёт 0x80070005 при доступе к сетевой папке, назначьте identity AppPool отдельную доменную учётную запись и проверьте доступ именно под этой учёткой.
Способ 6. Перезапустить IIS и проверить доступ
- Выполните перезапуск IIS.
- Откройте сайт и проверьте, исчезла ли ошибка.
iisreset Способ 7. Проверить системные файлы (SFC/DISM)
- Выполните проверку и восстановление системных компонентов.
- Перезагрузите сервер и повторите тест сайта.
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth Пути и логи для диагностики IIS 0x80070005
- IIS-логи:
C:\inetpub\logs\LogFiles. - Конфиг IIS:
C:\Windows\System32\inetsrv\config. - Журналы событий:
C:\Windows\System32\winevt\Logs. - Логи CBS:
C:\Windows\Logs\CBS\CBS.log. - Логи DISM:
C:\Windows\Logs\DISM\dism.log.
FAQ
Почему IIS показывает ошибку 0x80070005?
Код 0x80070005 означает отказ в доступе. Обычно IIS не может прочитать файлы сайта из-за неверных NTFS-разрешений или неподходящей identity пула приложений.
Как проверить identity пула приложений в IIS?
Откройте Application Pools, выберите нужный пул, затем Advanced Settings и параметр Identity. Учётная запись пула должна иметь минимум права чтения и выполнения на папку сайта.
Какие права на папку сайта нужны для IIS?
Минимально нужны Read & Execute, List folder contents и Read для IIS_IUSRS или конкретной identity AppPool. Полный доступ обычно не требуется.
Как проверить ACL через командную строку?
Используйте icacls для просмотра текущих разрешений и убедитесь, что у нужной identity есть доступ к корню сайта и вложенным каталогам.
Где смотреть логи, если 0x80070005 остаётся после исправления прав?
Проверьте IIS-логи в C:\inetpub\logs\LogFiles и события в Event Viewer (Application/System). Дополнительно проверьте CBS и DISM логи для системных ошибок.