При публикации баз данных платформы «1С:Предприятие» на веб-сервере IIS под управлением операционных систем Windows Server администраторы часто сталкиваются с неприятной системной ошибкой. При попытке пользователей подключиться к базе через тонкий клиент или веб-клиент система выдает критический сбой: «Ошибка доступа к файлу 'C:\Documents and Settings\Default User\Local Settings\Application Data\1C'. 5(0x00000005): Отказано в доступе.»
В этой статье мы подробно проанализируем причины возникновения данной неполадки, разберем поведение операционной системы и веб-сервера IIS, а также предоставим пошаговые инструкции по окончательному решению этой проблемы несколькими надежными способами.
Для того чтобы эффективно решить проблему, разберем внутреннюю логику работы связки веб-сервера IIS и платформы 1С. Когда клиент подключается к опубликованной базе данных, на стороне сервера управление передается рабочему процессу IIS — w3wp.exe. Этот процесс по умолчанию функционирует от имени служебных технологических учетных записей. В зависимости от версии Windows и настроек пула приложений это могут быть:
Network Service (Сетевая служба);IUSR (встроенный пользователь для анонимного доступа);IIS_WPG (в устаревших версиях вроде Windows Server 2003);ApplicationPoolIdentity (виртуальная учетная запись конкретного пула приложений в современных ОС).Эти служебные учетные записи не являются классическими интерактивными пользователями. Операционная система Windows не создает и не загружает для них полноценный пользовательский профиль при старте служб. Когда библиотека 1С, запущенная внутри процесса w3wp.exe, пытается инициализировать сессию, ей требуется место для записи временных файлов, кэша метаданных и логов. Платформа выполняет стандартный системный вызов для определения пути к папке локальных настроек (переменная среды %LOCALAPPDATA%).
Поскольку у сервисного пользователя IIS нет собственного загруженного профиля, операционная система перенаправляет этот запрос на системный шаблон профиля по умолчанию — Default User (или Default в более новых версиях ОС). Процесс 1С пытается создать подкаталог 1C по пути C:\Documents and Settings\Default User\Local Settings\Application Data\. Однако у служебных учетных записей веб-сервера по умолчанию нет прав на запись в этот защищенный системный каталог. В результате операционная система блокирует операцию, возвращая системную ошибку 5 (Access Denied / Отказано в доступе).
Иногда однократное нажатие кнопки «Перезапустить» в тонком клиенте позволяет временно войти в базу. Это связано с тем, что при повторном обращении механизмы кэширования 1С могут использовать резервные пути в системной папке временных файлов Temp. Однако это нестабильное поведение, и при очистке кэша или перезапуске IIS ошибка обязательно вернется.
---
Самый быстрый способ устранить проблему — вручную предоставить необходимые права на запись в каталог Default User. По умолчанию папка Default User является скрытой и системной, поэтому её нельзя увидеть в обычном проводнике без предварительной настройки.
Рассмотрим по шагам процесс отображения скрытых папок и настройки прав на Windows Server 2003:
Если вы работаете в более новых версиях Windows Server, аналогичную операцию можно выполнить через Панель управления или вкладку «Вид» в ленте проводника Windows.
После того как папки стали видимыми, перейдем к настройке прав доступа:
C:\Documents and Settings\Default User\Local Settings\Application Data\ (в современных ОС путь будет выглядеть так: C:\Users\Default\AppData\Local\).1C, создадим её вручную.1C и выберем «Свойства».IIS_WPG, а также пользователей Network Service и IUSR.Для быстрой установки прав через командную строку (консоль CMD запущенная от имени Администратора) мы можем применить утилиту cacls (для старых систем) или icacls (для современных систем). Рассмотрим пример скрипта автонастройки прав:
cacls "C:\Documents and Settings\Default User\Local Settings\Application Data\1C" /E /T /G "NT AUTHORITY\NETWORK SERVICE":F
cacls "C:\Documents and Settings\Default User\Local Settings\Application Data\1C" /E /T /G "IIS_WPG":C
cacls "C:\Documents and Settings\Default User\Local Settings\Application Data\1C" /E /T /G "IUSR":C
---
Использование встроенных системных учетных записей (таких как Network Service) часто создает бреши в безопасности сервера, поскольку предоставление им полных прав на системные каталоги нежелательно. Более безопасным и архитектурно правильным решением является запуск пула приложений веб-сервера под управлением выделенной локальной или доменной учетной записи Windows, у которой будет собственный полноценный профиль.
Разберем этот процесс по шагам:
usr_1c_web) и зададим ему сложный, надежный пароль.IIS_WPG (на Windows Server 2003) или в группу IIS_IUSRS (на более современных ОС). Это необходимо для того, чтобы у пользователя были права на запуск рабочих процессов IIS.usr_1c_web. При первом входе операционная система автоматически создаст для этого пользователя полноценный личный профиль на диске C:\ (например, C:\Documents and Settings\usr_1c_web\ или C:\Users\usr_1c_web\) со всеми служебными подпапками настроек.usr_1c_web и вернемся под учетную запись администратора.usr_1c_web полные права NTFS на каталог с файловой базой данных 1С (если база файловая), а также права на чтение и выполнение для каталога установки платформы bin (обычно находящегося по пути C:\Program Files\1cv8\).DefaultAppPool), и откроем его свойства.usr_1c_web и введем его пароль.После выполнения этих шагов рабочий процесс 1С будет обращаться к папке Application Data внутри личного профиля пользователя usr_1c_web, доступ к которому гарантирован правами владельца папки. Это полностью исключит конфликты с каталогом Default User.
---
Если в будущем вы планируете обновить операционную систему сервера до современных версий (Windows Server 2008, 2012, 2016, 2019, 2022) с установленным веб-сервером IIS версии 7.0 и выше, то решить данную проблему можно штатным переключателем в дополнительных свойствах пула приложений.
Проанализируем этот функционал. В современных версиях IIS по умолчанию для пулов приложений отключена автоматическая загрузка профиля пользователя. Это сделано для экономии ресурсов памяти и ускорения запуска пулов. Однако для стабильной работы платформы 1С загрузка профиля обязательна.
Для включения этого параметра выполним следующие действия:
True (по умолчанию там часто установлено значение False).При активации этого флага IIS принудительно создаст и загрузит изолированный профиль для виртуального пользователя пула приложений в папке C:\Users\, предоставив процессу легитимный и безопасный доступ к папке временных файлов и кэша, избавив систему от необходимости обращаться к шаблону Default User.
---
Параллельно с решением проблемы доступа к папке Default User настоятельно рекомендуем проверить права на системную временную папку сервера. Платформа 1С при обработке запросов от веб-клиентов активно использует общую директорию C:\Windows\Temp (или C:\WINNT\Temp на старых версиях ОС) для хранения сессионных кэшей.
Убедимся, что у созданного вами пользователя пула приложений (или у стандартной группы IIS_WPG / IIS_IUSRS) есть права на чтение, запись и удаление файлов в этой папке. Отсутствие прав на системную директорию Temp может вызывать схожие плавающие ошибки доступа в процессе работы пользователей с базой 1С.