Программная лицензия и ключ HASP: как найти, чем защищена ваша 1С

· 9 мин

Содержание

Программная лицензия 1С 8.3 — это файл с расширением .lic. В Windows он лежит в C:\ProgramData\1C\licenses (лицензия для всех пользователей компьютера) или в C:\Users\<имя>\AppData\Roaming\1C\licenses (только для одного пользователя). В Linux общий каталог — /var/1C/licenses. Если лицензия на аппаратном ключе HASP, файла нет вовсе: она хранится в самом USB-ключе.

Поэтому сначала определите, чем защищена ваша 1С: файлом или ключом. От этого зависит, где искать, что копировать в резервную копию и что делать при ошибке.

Сначала поймите, какая у вас защита: файл или USB-ключ

В 1С 8.3 встречаются два способа защиты, иногда оба сразу в одной сети.

  • 🔑 Аппаратный ключ (HASP, Sentinel). Флешка-«донгл» в USB-порту рабочего места или сервера. Лицензия записана внутри ключа, на диске её нет. Нужен драйвер Sentinel, а для сетевого ключа — ещё и менеджер лицензий.
  • 📄 Программная лицензия. Файл .lic, который появляется после активации пин-кодом. Он привязан к параметрам конкретного компьютера. Скопированный на другую машину, файл не заработает.
  • ☁️ Облако (1С:Фреш и сервисы провайдеров). Лицензиями управляет провайдер на своих серверах. У пользователя нет ни файла, ни ключа, искать у себя нечего.

Быстрее всего выяснить тип защиты в самой программе. Откройте базу в режиме 1С:Предприятие и вызовите Справка → О программе. В окне указано, какая лицензия используется: программная или с ключа защиты, и на каком компьютере она получена.

Если на сервере стоит USB-ключ, а на рабочих местах при этом лежат файлы .lic — это нормальная смешанная схема. Платформа берёт ту лицензию, которую найдёт первой.

Аппаратный ключ HASP: где физически хранится лицензия

С ключом вопрос «где файл» звучит иначе: «на каком компьютере стоит ключ и видит ли его 1С».

Локальный ключ. Вставлен в USB-порт рабочего места. Лицензия действует только на этом компьютере. Для работы нужен установленный драйвер Sentinel (в дистрибутиве платформы он ставится отдельно, через установщик драйвера защиты).

Сетевой ключ. Стоит на одном компьютере сети, обычно на сервере. На этом компьютере работает менеджер лицензий HASP License Manager, он раздаёт лицензии по сети. Клиенты находят его широковещательным запросом или по адресу из файла nhsrv.ini.

Файл nhsrv.ini — это не лицензия, а настройка поиска сетевого ключа. Его кладут рядом с платформой на клиенте: в каталог bin или conf установленной версии. Минимальное содержимое:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10

Здесь 192.168.1.10 — адрес компьютера, где стоит сетевой ключ и запущен менеджер лицензий. Явный адрес нужен, когда клиент и ключ в разных подсетях или широковещательные пакеты режутся.

Менеджер лицензий работает по порту 475. Если между клиентом и сервером есть брандмауэр, этот порт должен быть открыт, иначе клиент «не видит» ключ, хотя на сервере всё исправно.

Программная лицензия на сервере Windows

На сервере 1С:Предприятия файлы лицензий лежат в том же общем каталоге, что и на обычном компьютере:

C:\ProgramData\1C\licenses

Каталог ProgramData скрытый. Чтобы его увидеть, включите в Проводнике показ скрытых элементов или просто вставьте путь в адресную строку.

На сервере обычно хранится два вида лицензий:

  1. Лицензия на сервер 1С (32- или 64-разрядный). Без неё служба агента сервера запустится, но базы в клиент-серверном режиме работать не будут.
  2. Клиентские лицензии, если вы решили раздавать их с сервера, а не держать на каждом рабочем месте. Тогда пользователи, подключившиеся к базам этого кластера, получают лицензию от сервера.

Служба сервера 1С обычно работает от отдельной учётной записи (часто USR1CV8). Если лицензию активировали «для текущего пользователя», файл попадёт в профиль администратора, который активировал. Служба его не увидит. Лицензии на сервере активируйте только для всех пользователей компьютера — в ProgramData.

Проверить, какие лицензии реально выдал сервер, можно утилитой rac. Сначала узнайте идентификатор кластера, затем выведите сеансы с лицензиями:

rac cluster list
rac session list --cluster=<id_кластера> --licenses

В выводе видно, с какого компьютера и из какого файла или ключа получена лицензия каждого сеанса. Если нужен другой набор параметров, смотрите справку rac help. Для rac должна работать служба ras (сервер администрирования).

Где хранятся лицензии 1С в Linux

В Linux платформа ищет файлы лицензий в двух местах:

  • 📁 /var/1C/licenses — общий каталог для всех пользователей. Сюда же попадают серверные лицензии.
  • 📁 ~/.1C/licenses — каталог в домашней папке пользователя, лицензия только для него.

Сервер 1С в Linux работает от пользователя usr1cv8. Логика та же, что в Windows: лицензия сервера должна лежать в общем каталоге, иначе служба её не найдёт.

Проверка прав — частая причина отказа в Linux. Пользователь, от которого работает сервер, должен читать файлы каталога:

ls -la /var/1C/licenses
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses

Вторую команду выполняйте, только если владелец действительно сменился, например после копирования файлов от root. Имя группы проверьте по выводу ls -la у соседних каталогов 1С.

Аппаратные ключи в Linux тоже работают, но нужен пакет драйвера Sentinel для вашего дистрибутива (служба aksusbd). Без неё ключ в порту есть, а система его не видит.

Если сервер 1С работает в контейнере или на виртуальной машине, программная лицензия привязывается к параметрам виртуального «железа». Пересоздание ВМ или контейнера с новыми параметрами — повод для повторной активации.

Лицензии на рабочих местах: клиентские файлы и порядок поиска

На клиентском компьютере с Windows есть два каталога для .lic:

КаталогДля кого действуетКогда туда попадает файл
C:\ProgramData\1C\licensesВсе пользователи компьютераАктивация с выбором «для всех пользователей»
C:\Users\<имя>\AppData\Roaming\1C\licensesОдин пользователь WindowsАктивация «для текущего пользователя»

На одном компьютере может лежать несколько файлов. Например, однопользовательская лицензия и комплект на 5 рабочих мест. Имя файла — набор цифр с расширением .lic, по имени понять состав лицензии нельзя. Состав смотрите в окне Справка → О программе и в документах комплекта: там указан продукт и число рабочих мест.

Не редактируйте и не сохраняйте .lic через Блокнот. Любое изменение, даже лишний перевод строки, делает файл недействительным.

Порядок, в котором клиент ищет лицензию при запуске:

  1. Файлы .lic в каталогах этого компьютера.
  2. Локальный USB-ключ.
  3. Сетевой ключ через менеджер лицензий.
  4. Для клиент-серверных баз — лицензии сервера 1С, если сервер настроен их выдавать.

Если ни один источник не дал свободную лицензию, запуск прерывается. Без лицензии платформа базу не открывает. Исключение — учебная версия, у которой свои ограничения.

Терминальный сервер и RDP

На терминальном сервере все пользователи работают на одном компьютере. Поэтому многопользовательскую лицензию активируют один раз в C:\ProgramData\1C\licenses терминального сервера. Однопользовательские лицензии для терминального доступа не подходят — нужен комплект на нужное число мест.

Как проверить, видит ли 1С лицензию: утилиты диагностики

Диагностику делают по-разному для ключей и для файлов.

Для USB-ключей. Основной инструмент — веб-консоль Sentinel Admin Control Center. Она ставится вместе с драйвером и открывается в браузере на компьютере с ключом:

http://localhost:1947

В разделе ключей видно, подключён ли ключ и распознан ли он. В старых инструкциях вместо неё упоминаются отдельные проверочные утилиты вроде haspchk и Aladdin Monitor. Монитор до сих пор полезен для сетевых ключей: он показывает менеджеры лицензий в сети и число занятых мест.

Для программных файлов. Отдельной утилиты-проверялки нет, проверяют так:

  • 👀 открывают Справка → О программе в 1С:Предприятии и смотрят, откуда получена лицензия;
  • 📂 убеждаются, что файл лежит в нужном каталоге, а не в профиле другого пользователя;
  • 🖥 на сервере смотрят сеансы через rac session list --licenses или в консоли администрирования серверов 1С в свойствах сеанса.
Диагностика: выберите симптом

Сводная таблица: пути к файлам лицензий 1С

ГдеТип защитыПуть или место
Windows, все пользователиПрограммнаяC:\ProgramData\1C\licenses
Windows, один пользовательПрограммнаяC:\Users\<имя>\AppData\Roaming\1C\licenses
Сервер 1С на WindowsПрограммная (сервер + клиентские)C:\ProgramData\1C\licenses
Linux, все пользователи и серверПрограммная/var/1C/licenses
Linux, один пользовательПрограммная~/.1C/licenses
Любая ОСАппаратнаяВнутри USB-ключа; на диске только драйвер
Клиент сетевого ключаНастройка поиска, не лицензияnhsrv.ini в каталоге bin или conf платформы
1С:Фреш, облакоУ провайдераУ пользователя файлов нет

Резервная копия и перенос лицензии: что можно, а что нет

Сохранять копию файлов .lic полезно. Если лицензию случайно удалили или профиль пользователя пересоздали, файл можно вернуть в тот же каталог на том же компьютере — и он заработает, пока не изменилось оборудование.

Перенести лицензию на новый компьютер копированием нельзя. Порядок такой:

  1. Найдите конверт или письмо с пин-кодами комплекта и регистрационный номер продукта.
  2. На новом компьютере запустите 1С. При отсутствии лицензии платформа сама предложит получить её.
  3. Введите регистрационный номер и неиспользованный пин-код. Выберите, для кого активировать: для всех пользователей или только для текущего.
  4. Если основной пин уже израсходован, используйте резервный из того же комплекта.

Число пин-кодов в комплекте ограничено. Не активируйте лицензию «на пробу» на временных машинах — каждый раз тратится пин. Если резервные закончились, восстановление идёт через центр лицензирования по обращению владельца лицензии.

С USB-ключом перенос проще: ключ переставляют в другой компьютер, ставят драйвер, и лицензия работает там. Для сетевого ключа после переезда поправьте адрес в nhsrv.ini на клиентах, если он был задан явно.

Частые вопросы о файлах лицензий 1С

Можно ли хранить файлы лицензий в другой папке, например на сетевом диске?
Нет. Платформа ищет .lic только в стандартных каталогах компьютера. Файл на сетевом диске она не увидит, а для общего доступа служат сетевой ключ или раздача клиентских лицензий с сервера 1С.
Как понять, на сколько пользователей лицензия в файле?
Сверьте регистрационный номер с документами комплекта: в них указано число рабочих мест. Сколько мест занято прямо сейчас, на сервере покажет rac session list --licenses, а для сетевого ключа — Aladdin Monitor.
Сколько файлов `.lic` может лежать в одном каталоге?
Несколько. Платформа учитывает все подходящие файлы, поэтому однопользовательская и многопользовательские лицензии могут храниться рядом.
Почему 1С перестала видеть лицензию после обновления платформы?
Обновление платформы файлы лицензий не трогает. Обычно причина в другом: одновременно меняли оборудование, переустанавливали систему или запускали новую версию от другого пользователя Windows, у которого нет своей лицензии в профиле.
Нужна ли лицензия на сервер, если база файловая?
Нет. Для файловой базы достаточно клиентских лицензий на рабочих местах или на терминальном сервере. Лицензия на сервер 1С нужна только для клиент-серверного режима.