Каждый системный администратор или специалист 1С при администрировании или обновлении системы может столкнуться с загадочной ситуацией: в окне «О программе» четко прописаны все параметры серверной лицензии, её регистрационный номер и данные владельца, однако стандартный поиск по жестким дискам не выдает ни одного соответствующего файла с расширением .lic. На первый взгляд это кажется невозможным — если лицензия программная, для нее обязан существовать физический файл на диске. Давайте подробно разберем, куда именно исчезают эти файлы, почему стандартные средства операционной системы их «не видят» и как правильно диагностировать и чистить кэш лицензий 1С:Предприятия.
Выясним причину, почему стандартный поиск в Проводнике Windows, запущенный даже под учетной записью локального администратора, возвращает пустой результат при поиске файлов лицензий. Дело в архитектуре безопасности операционной системы и в том, от чьего имени работает сервер приложений 1С:Предприятие.
По умолчанию служба сервера 1С функционирует от имени специального системного пользователя USR1CV8 (или аналогичного, заданного при установке). При активации программной лицензии (будь то клиентская многопользовательская или серверная лицензия) платформа записывает файл формата .lic непосредственно в профиль этого пользователя. Путь выглядит следующим образом:
C:\Users\USR1CV8\AppData\Local\1C\1Cv8\conf\
Или в роуминг-профиле:
C:\Users\USR1CV8\AppData\Roaming\1C\1Cv8\conf\
Поскольку папка пользователя USR1CV8 является строго изолированной и защищена правами доступа на уровне файловой системы NTFS, стандартная служба индексирования и поиска Windows не имеет возможности заглянуть внутрь этого каталога. Даже если вы включили отображение скрытых и системных файлов, поиск не выдаст результат, поскольку у вашей текущей учетной записи администратора нет явных прав на чтение папки другого системного пользователя. Для решения этой проблемы рассмотрим два простых способа обхода ограничений:
C:\Users\USR1CV8\AppData\Local\1C\1Cv8\conf\. При первой попытке войти в папку пользователя операционная система выдаст предупреждение о том, что у вас нет прав доступа, и предложит нажать кнопку «Продолжить» для постоянного предоставления прав. После подтверждения папка откроется, и вы увидите скрытые файлы лицензий.Платформа 1С:Предприятие сама подсказывает нам точное местоположение используемых файлов программных лицензий. Нам не нужно гадать или сканировать весь жесткий диск. Разберем по шагам, как получить эту информацию:
file://.
file://C:/Users/USR1CV8/AppData/Local/1C/1Cv8/conf/20231109153022.lic
Достаточно просто скопировать часть этой строки (без префикса file://), заменить прямые слэши на обратные, если это необходимо для Windows, и вставить этот адрес в строку поиска или команду «Выполнить» (сочетание клавиш Win + R). Файл моментально откроется или выделится в целевой папке.
Многие специалисты пытаются найти файл лицензии на сервере, используя маску поиска 2*.lic, полагая, что раз регистрационный номер коробки начинается на двойку, то и имя файла должно быть аналогичным. Это заблуждение.
Платформа генерирует имя файла программной лицензии динамически в момент активации пин-кода. Имя файла представляет собой временной штамп (таймстамп) в формате ГГГГММДДччммсс.lic. Например, файл 20231225101435.lic означает, что данная лицензия была успешно активирована на компьютере 25 декабря 2023 года в 10:14:35.
Поскольку имена файлов серверных и клиентских лицензий формируются абсолютно одинаково, визуально отличить их друг от друга невозможно. Чтобы понять, какой именно файл отвечает за серверную лицензию, рассмотрим следующие методы:
rphost, мы увидим детальную информацию обо всех задействованных файлах лицензий. Также эту информацию можно отследить в активных сеансах пользователей в соответствующей колонке..lic и отображать их содержимое в понятном текстовом виде. С его помощью можно быстро просмотреть регистрационный номер, тип лицензии (клиентская или серверная, разрядность 32/64 бит) и параметры организации, на которую она была зарегистрирована.ring. Однако проанализируем важный нюанс: для успешной работы этой утилиты на сервере обязательно должна быть развернута среда исполнения Java (JRE) и настроены расширения безопасности JCE. Без этого утилита ring не сможет распознать и прочитать файлы лицензий.Иногда возникает ситуация, когда физический файл лицензии .lic уже удален или перенесен на другой сервер, однако при запуске программы в окне «О программе» все еще висит информация о старой лицензии с её прежним регистрационным номером. Это происходит из-за механизма кэширования истории подключений в 1С:Предприятии.
Платформа сохраняет сведения обо всех когда-либо успешно задействованных лицензиях на данном рабочем месте или сервере в файлах конфигурации соединений. Эти файлы имеют расширения .pfl. Самыми распространенными являются:
1cv8conn.pflconn8211.pfl (используется в более старых версиях платформы)Эти файлы обычно располагаются в общих каталогах конфигурации платформы, например, в %ProgramData%\1C\licenses или в подпапках conf конкретных версий платформы. Чтобы окно «О программе» отображало только реально существующие и активные в данный момент лицензии, необходимо выполнить очистку кэша. Рассмотрим этот процесс по шагам:
.pfl в каталогах 1С (как в профилях пользователей, так и в общей папке %ProgramData%).Если ваш сервер 1С:Предприятия развернут на базе ОС Linux, архитектура лицензирования остается прежней, но меняются пути к каталогам и требования к правам доступа. Рассмотрим эти особенности подробнее:
Для демона сервера 1С (работающего от имени пользователя usr1cv8) основным каталогом для поиска и сохранения файлов программных лицензий является:
/var/1C/licenses
При администрировании Linux-сервера критически важно следить за тем, чтобы права на этот каталог и все находящиеся внутри файлы .lic принадлежали пользователю usr1cv8 и группе grp1cv8. Проанализируем стандартные команды для установки корректных прав:
chown -R usr1cv8:grp1cv8 /var/1C/licenses
chmod -R 600 /var/1C/licenses
chmod 700 /var/1C/licenses
Если права будут настроены неверно (например, если файлы были скопированы под учетной записью root и не переданы во владение пользователю службы 1С), сервер не сможет прочитать файл серверной лицензии и при запуске сеанса выдаст ошибку о том, что лицензия не найдена.
Мы подробно разобрали внутреннее устройство механизма хранения программных лицензий 1С:Предприятия. Отсутствие файла лицензии сервера при стандартном поиске — это не признак использования пиратского ПО, а закономерный результат работы механизмов безопасности операционной системы Windows и кэширования самой платформы 1С. Пользуясь приведенными инструкциями, вы всегда сможете точно определить местоположение файлов лицензий, перенести их при необходимости на новое оборудование или очистить систему от устаревших неактивных записей.