Файлы лицензий 1С:Предприятия на сервере: где искать и как проверить
Содержание
Программная лицензия 1С на сервере хранится в файле с расширением .lic. На Windows основной каталог — C:\ProgramData\1C\licenses, на Linux — /var/1C/licenses. Если лицензию получали из-под конкретной учётной записи, файл может лежать в её профиле: C:\Users\<имя>\AppData\Roaming\1C\licenses.
Аппаратная лицензия — это USB-ключ HASP, и файла на диске у неё нет: защита живёт в самом ключе, а на сервере стоят только драйвер и менеджер лицензий. Поэтому первый вопрос при поиске — какой у вас тип защиты. От ответа зависит, что копировать, куда смотреть и что ломается при переезде.
Программная лицензия на Windows-сервере: каталоги и имена файлов
Платформа 1С:Предприятие 8.3 ищет файлы лицензий в двух местах на компьютере:
| Каталог | Полный путь (Windows Server 2016 и новее) | Кому доступна лицензия |
|---|---|---|
| Общий | %ALLUSERSPROFILE%\1C\licenses → C:\ProgramData\1C\licenses | Всем пользователям и службам на сервере |
| Пользовательский | %APPDATA%\1C\licenses → C:\Users\<имя>\AppData\Roaming\1C\licenses | Только этой учётной записи |
Папка ProgramData по умолчанию скрыта. Наберите путь прямо в адресной строке Проводника или включите показ скрытых элементов.
Имя файла лицензии — это дата и время получения, например 20240315104722.lic. В одной папке может лежать несколько файлов: клиентские лицензии на 5, 10, 20 рабочих мест и лицензия сервера. По имени их не различить — только по содержимому или через консоль кластера (об этом ниже).
Ловушка с профилем служебной учётной записи
Служба «Агент сервера 1С:Предприятия 8.3» обычно работает от пользователя USR1CV8. Если при активации лицензия ушла в пользовательский каталог, она окажется здесь:
C:\Users\USR1CV8\AppData\Roaming\1C\licenses
Если же служба запущена от системной учётной записи, профиль лежит в системной папке:
C:\Windows\System32\config\systemprofile\AppData\Roaming\1C\licenses
Отсюда частая ситуация: администратор открывает ProgramData, видит пустую папку и решает, что лицензии нет. А сервер её спокойно выдаёт из профиля службы.
💡 Для сервера держите все файлы .lic в общем каталоге C:\ProgramData\1C\licenses. Так их видит любая служба и любой администратор, а при смене учётной записи службы ничего не теряется.
Права на папку
Учётной записи, под которой работает служба 1С, нужен доступ на чтение и запись к каталогу лицензий. Проверка:
- Щёлкните правой кнопкой по папке
licenses→Свойства→ вкладкаБезопасность. - Найдите в списке
USR1CV8(или ту учётную запись, что указана на вкладкеВход в системув свойствах службы). - Если её нет — добавьте и дайте права на изменение.
Без прав на чтение сервер ведёт себя так, будто лицензии нет вовсе.
Лицензии в кластере 1С:Предприятия 8.3: как сервер их выдаёт
В клиент-серверном варианте клиентские лицензии можно держать не на каждом рабочем месте, а на сервере 1С. Тогда их выдаёт сервис лицензирования кластера, а пользователю на своём компьютере ничего ставить не нужно.
За это отвечают две настройки в консоли администрирования серверов:
- 🔧 Свойства информационной базы → флажок «Выдача лицензий сервером 1С:Предприятия». Если он снят, база берёт лицензию только с клиентского компьютера.
- 🔧 Требования назначения функциональности в свойствах рабочего сервера. Там есть тип объекта «Клиентская лицензия»: с его помощью можно указать, какой именно рабочий сервер кластера выдаёт лицензии. Это нужно, когда серверов несколько, а файлы
.licлежат только на одном.
Лицензия сервера (ключ на сам сервер 1С) лежит в том же каталоге, что и клиентские. Отдельной папки для неё нет.
Как узнать, из какого файла сеанс взял лицензию
Это самый точный способ найти «живую» лицензию — не гадать по папкам, а спросить у кластера. Утилита rac показывает лицензии сеансов:
cd "C:\Program Files\1cv8\8.3.25.1374\bin"
rac cluster list
rac session list --cluster=<uuid-кластера> --licenses
Номер версии в пути подставьте свой. Для rac должна работать служба сервера администрирования ras. В выводе по каждому сеансу будут тип лицензии (программная или ключ HASP), полный путь к файлу .lic или данные ключа и признак того, кем выдана лицензия: клиентом или сервером.
То же самое видно в графической консоли: откройте список сеансов информационной базы и посмотрите свойства конкретного сеанса — там есть сведения о лицензии.
💡 Если путь в выводе указывает на профиль USR1CV8 или systemprofile, перенесите файл в ProgramData в окно без пользователей и перепроверьте.
Аппаратные ключи HASP: что стоит на сервере
У аппаратной защиты нет файла лицензии. Всё, что есть на сервере, — это:
- 🔌 Драйвер защиты Sentinel (HASP). После установки у него есть веб-панель по адресу
http://localhost:1947. Там видно, определился ли ключ. - 🌐 Менеджер лицензий (HASP License Manager) — нужен для сетевых многопользовательских ключей. Он раздаёт лицензии по сети, по умолчанию работает на порту 475.
- 📄 Файл
nethasp.iniна клиентских компьютерах — подсказывает платформе, где искать менеджер лицензий.
Файл nethasp.ini лежит в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini. Минимальная настройка, чтобы клиент не перебирал всю сеть широковещательными запросами:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Вместо 192.168.1.10 подставьте адрес сервера, куда воткнут ключ.
Серверный ключ HASP и клиентский многопользовательский — разные ключи. Серверный ключ нужен процессу сервера 1С и должен быть вставлен именно в тот компьютер, где работает сервер. Клиентский сетевой ключ может стоять на любой машине с менеджером лицензий.
Ключи и виртуальные машины
Если сервер 1С работает в виртуальной машине, USB-ключ пробрасывают в неё средствами гипервизора или через сетевой USB-концентратор. Проверка — та же панель http://localhost:1947 внутри гостевой ОС: ключ должен быть в списке.
Лицензирование на Linux и терминальном сервере
Linux
На Linux общий каталог программных лицензий — /var/1C/licenses. Сервер 1С обычно работает от пользователя usr1cv8, и у него должны быть права на эту папку:
ls -la /var/1C/licenses
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
sudo chmod 755 /var/1C/licenses
Имя группы проверьте командой id usr1cv8 — оно зависит от того, как ставили платформу. Пользовательский каталог лицензий находится в скрытой папке .1C домашнего каталога учётной записи. Для сервера, как и на Windows, лучше держать файлы в общем /var/1C/licenses.
Посмотреть установленные лицензии
можно утилитой ring из комплекта платформы:
ring license list
ring license info --name <имя-лицензии>
Если команды отличаются в вашей версии, полный список подкоманд даёт ring license help.
Терминальный сервер
На терминальном сервере (RDP) пользователи работают на одном компьютере, поэтому клиентские лицензии кладут в общий каталог C:\ProgramData\1C\licenses этого терминального сервера. Лицензия, сохранённая в профиль одного пользователя, другим не достанется.
Если терминальный сервер и сервер 1С — разные машины, выбирайте одно место для клиентских лицензий: либо терминальный сервер, либо кластер 1С с включённой выдачей лицензий сервером. Держать половину там, половину здесь — путь к ошибкам «лицензия не найдена» у случайных пользователей.
| Схема | Где лежат клиентские лицензии | Что настроить |
|---|---|---|
| Файловая база, рабочие места | На каждом компьютере, ProgramData | Ничего |
| Терминальный сервер + файловая база | ProgramData терминального сервера | Права на папку |
| Клиент-сервер, лицензии на сервере 1С | ProgramData или /var/1C/licenses сервера 1С | Флажок выдачи лицензий в свойствах базы |
| Сетевой ключ HASP | В ключе | Менеджер лицензий + nethasp.ini |
Перенос и резервная копия файлов лицензий
Файл .lic привязан к параметрам оборудования и операционной системы. Скопировать его на другой сервер и получить рабочую лицензию нельзя: на чужом железе файл не пройдёт проверку.
Что от этого следует для резервного копирования:
- Копию файлов
.licделать стоит. Она спасёт, если папку случайно удалили или переустановили платформу, а сервер остался тем же. - Копия не спасёт при замене материнской платы, процессора, сетевой карты или переезде виртуальной машины на другой хост со сменой оборудования. Тут нужна повторная активация.
- Главное, что нужно хранить, — пин-коды и регистрационные данные из комплекта поставки: номер комплекта , основной и резервные пин-коды, реквизиты организации, которые вводили при активации.
Записывайте, какой пин-код уже использован и на каком сервере. Резервных пин-кодов ограниченное количество. Когда они закончатся, восстанавливать лицензию придётся через обращение к правообладателю или партнёру, а это дни, а не минуты.
Переезд на новый сервер
Порядок, при котором работа не встаёт:
- Найдите на старом сервере все файлы
.licи выясните черезrac session list --licenses, какие из них реально используются. - Подготовьте регистрационные данные и неиспользованные пин-коды.
- На новом сервере установите платформу той же или более новой версии и получите лицензии заново через окно активации. В клиент-серверном режиме мастер получения лицензии предлагает сохранить её на сервере 1С — выберите этот вариант.
- Проверьте, что файлы появились в
ProgramData(или в/var/1C/licenses). - Только после этого выводите старый сервер из работы.
Перенос файлов между папками на работающем сервере и перезапуск службы агента обрывают сеансы пользователей. Делайте это вне рабочего времени и предупредите людей заранее.
Ошибки поиска лицензии и что проверить
Типовое сообщение, когда платформа ничего не нашла:
Не обнаружен ключ защиты программы или полученная программная лицензия!
Порядок проверки от простого к сложному:
Как найти все файлы лицензий на диске
Если непонятно, куда вообще ушли файлы, проще поискать их по всему диску. В PowerShell от имени администратора:
Get-ChildItem -Path C:\ -Filter *.lic -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.DirectoryName -like "*1C*" } |
Select-Object FullName, LastWriteTime
На Linux:
sudo find / -name "*.lic" -path "*1C*" 2>/dev/null
Дата изменения файла подсказывает, когда лицензию получили, и помогает сопоставить её с записями о пин-кодах.
Частые вопросы
Можно ли открыть файл .lic и посмотреть, на сколько он пользователей?
ring license info или в свойствах сеанса в консоли кластера.