Куда 1С сохраняет лицензию: папки на ПК и сервере, USB-ключи, контейнеры

· 9 мин

Содержание

Программные лицензии 1С:Предприятие 8.3 хранятся в виде файлов с расширением .lic. В Windows общая папка для всех пользователей — C:\ProgramData\1C\licenses, личная папка пользователя — %APPDATA%\1C\licenses. В Linux общий каталог — /var/1C/licenses. Аппаратная лицензия файлов не создаёт: она «зашита» в USB-ключ HASP, а на компьютере лежат только драйвер и файл настроек nethasp.ini.

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

Где лежат файлы программных лицензий 1С на компьютере

Платформа при запуске просматривает несколько каталогов. Если хотя бы в одном есть подходящий файл, база открывается.

СистемаДля всех пользователейДля текущего пользователя
Windows 10/11, Server 2016+C:\ProgramData\1C\licensesC:\Users\<имя>\AppData\Roaming\1C\licenses
Linux/var/1C/licensesскрытый каталог в домашней папке пользователя

Папка ProgramData в Windows скрыта. Чтобы её увидеть, вставьте путь прямо в адресную строку Проводника или включите отображение скрытых элементов на вкладке «Вид».

Что важно знать про эти папки:

  • 📁 Общая папка видна любой учётной записи на компьютере, в том числе службе сервера 1С.
  • 👤 Личная папка видна только тому пользователю, под которым активировали лицензию. Другой сотрудник на этом же ПК получит сообщение о том, что лицензия не найдена.
  • 🔒 Для записи в ProgramData нужны права администратора. Если мастер активации запустили без них, лицензия часто оседает в профиле пользователя.
  • 📄 В папке может лежать несколько файлов .lic — по одному на каждый активированный комплект.

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

Как выглядит файл лицензии

Это небольшой файл размером в несколько килобайт. Имя состоит из цифр, расширение — .lic. Внутри часть данных читается в Блокноте: регистрационный номер, название продукта, число рабочих мест. Остальное — зашифрованные параметры оборудования.

Не редактируйте файл .lic и не пересохраняйте его в текстовом редакторе — после любой правки платформа перестанет его принимать.

USB-ключи HASP: где «хранится» аппаратная лицензия

С аппаратной защитой всё проще и одновременно запутаннее. Лицензия записана в сам ключ. На диске её нет, искать файл бесполезно.

На компьютере, куда вставлен ключ, нужны:

  1. Драйвер Sentinel HASP (ставится вместе с платформой или отдельно).
  2. Для сетевого ключа — служба HASP License Manager, которая раздаёт лицензии по сети.
  3. На клиентах — файл nethasp.ini, если ключ стоит на другом компьютере.

Проверить, видит ли система ключ, можно в веб-консоли драйвера по адресу http://localhost:1947. В разделе ключей должен быть ваш ключ со статусом подключения.

Файл nethasp.ini: где лежит и что в нём писать

Платформа берёт настройки поиска сетевого ключа из файла nethasp.ini в каталоге conf платформы. Для 64-битной установки это обычно C:\Program Files\1cv8\conf\nethasp.ini, для 32-битной — C:\Program Files (x86)\1cv8\conf\nethasp.ini.

Если в сети широковещательный поиск не работает (разные подсети, VPN), укажите адрес компьютера с ключом явно:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled

Здесь 192.168.1.10 — адрес машины, где стоит ключ и работает менеджер лицензий. Несколько адресов перечисляют через запятую. После правки перезапустите 1С на клиенте.

Однопользовательский ключ на 1 рабочее место по сети не раздаётся. Он работает только на том компьютере, куда вставлен. Сетевые ключи отличаются маркировкой и количеством мест.

Лицензии на сервере 1С:Предприятие

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

  • 🖥 лицензия на сам сервер (на рабочий сервер кластера);
  • 👥 клиентские лицензии, которые сервер раздаёт пользователям при подключении.

Файлы программных лицензий на сервере лежат в тех же каталогах, что и на рабочей станции. В Windows служба сервера обычно работает от пользователя USR1CV8. Поэтому лицензия, активированная «для текущего пользователя» под администратором, службе не видна. Надёжный вариант — общая папка C:\ProgramData\1C\licenses.

На Linux-сервере это /var/1C/licenses. У каталога должны быть права на чтение для пользователя, от которого запущен сервер (как правило, usr1cv8).

Кто в кластере выдаёт лицензии

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

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

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

В выводе второй команды видно тип лицензии (программная или аппаратная), сервер, который её выдал, и, для программной, имя файла. Это самый быстрый способ понять, откуда на самом деле берутся лицензии в рабочей базе.

Для клиента, подключённого к серверу, лицензия может выдаваться сервером, а может браться с самого клиентского компьютера. Если на клиенте нашёлся свой ключ или файл, клиент использует его. Это стоит учитывать при подсчёте занятых мест.

Лицензии КОРП, СЛК и другие файлы рядом с основными

Кроме обычных клиентских и серверных лицензий в каталоге могут оказаться и другие файлы. Разберём, что к чему.

ВидГде хранитсяОсобенность
Клиентская программнаяlicenses на ПК или серверефайл .lic, привязан к оборудованию
Серверная (обычная или КОРП)licenses на сервере сервиса лицензийфайл .lic, привязан к серверу
Аппаратная (HASP)в USB-ключена диске только драйвер и nethasp.ini
Лицензии отраслевых решений на СЛКхранилище службы СЛКотдельная служба со своей консолью

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

Резервные пин-коды — это не файлы, а строки в конверте или в письме с электронной поставкой. Их нужно хранить так же бережно, как сами лицензии: без них восстановить лицензию после замены железа не получится.

Хранение лицензий 1С в виртуальных машинах и Docker

Программная лицензия запоминает параметры компьютера: имя, сетевые адаптеры, процессор, диски и другие. В виртуальной среде эти параметры легко меняются без вашего ведома — отсюда «слетевшие» лицензии.

Виртуальные машины

Лицензия теряется, если:

  • 🔄 машину перенесли на другой хост с изменением набора устройств;
  • 🌐 гипервизор выдал новый MAC-адрес сетевому адаптеру (динамический MAC);
  • 💽 добавили или убрали виртуальный диск, сменили число ядер;
  • 📋 машину клонировали — у клона другие идентификаторы.

Что делать: закрепите статический MAC-адрес, не меняйте конфигурацию «железа» виртуалки без нужды. Для систем, которые часто переезжают, удобнее аппаратный сетевой ключ на отдельной физической машине или проброс USB-ключа по сети.

Docker и контейнеры

В контейнере ситуация ещё жёстче. Каждый новый запуск даёт новое имя хоста и новый MAC, а каталог /var/1C/licenses исчезает вместе с контейнером.

Минимум, который нужен для стабильной работы:

  1. Вынести каталог лицензий в постоянный том, чтобы файл переживал пересоздание контейнера.
  2. Зафиксировать имя хоста и MAC-адрес контейнера.
  3. Не менять образ и параметры запуска после активации.
docker run -d \
  --hostname 1c-srv01 \
  --mac-address 02:42:ac:11:00:10 \
  -v /srv/1c/licenses:/var/1C/licenses \
  <ваш_образ_сервера_1С>

Даже при фиксированных параметрах лицензия может не принять контейнер после обновления ядра хоста или переезда на другой сервер. Держите под рукой резервные пин-коды и не тратьте их на эксперименты: число повторных активаций ограничено.

Как найти «потерянную» лицензию 1С

Сообщение Не обнаружен ключ защиты программы или Не обнаружено свободной лицензии не всегда значит, что лицензии нет. Чаще её просто не видит процесс, который её ищет.

Порядок проверки:

  1. Посмотрите, что видит клиент. В запущенной базе откройте окно «О программе» (значок «?» или главное меню) — там указано, какая лицензия используется и откуда получена.
  2. Проверьте обе папки. Откройте C:\ProgramData\1C\licenses и %APPDATA%\1C\licenses у того пользователя, под которым работает человек (или служба).
  3. Выведите список утилитой ring. В современных версиях платформы в комплекте есть утилита управления лицензиями. Команда ring license list покажет активированные лицензии и их файлы, ring license info --name <имя> — подробности по одной. Список параметров смотрите в ring license --help.
  4. Для сервера — команда rac session list --licenses из раздела выше и проверка, на каком узле работает сервис лицензий.
  5. Для HASP — веб-консоль http://localhost:1947 на машине с ключом и адрес в nethasp.ini на клиенте.
  6. Если всё на месте, но не работает — включите технологический журнал с событием LIC.

Фрагмент logcfg.xml (кладётся в каталог conf платформы):

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1c_logs\lic" history="24">
    <event>
      <eq property="name" value="LIC"/>
    </event>
    <property name="all"/>
  </log>
</config>

В журнале будет видно, какие каталоги и ключи платформа перебирала и почему отвергла найденный файл. После диагностики удалите logcfg.xml, иначе журнал продолжит расти.

Диагностика: выберите симптом

Частые ошибки при работе с файлами лицензий

  • ❌ Копируют .lic на новый компьютер. Файл не заработает: привязка к железу. Правильный путь — активация резервным пин-кодом.
  • ❌ Удаляют «лишние» файлы из папки licenses. Кажется, что это мусор от старых активаций, а на деле один из них — действующая серверная лицензия. Перед чисткой посмотрите список через ring license list.
  • ❌ Не делают копию каталога. После переустановки Windows на том же оборудовании сохранённый файл часто снова принимается, и пин-код тратить не нужно. Без копии остаётся только повторная активация.
  • ❌ Теряют конверт с пин-кодами. Восстановление через поставщика возможно, но это переписка и время, а база в это время не открывается.
  • ❌ Ставят сервер 1С в контейнер без постоянного тома. Первое же пересоздание контейнера уносит лицензию.

Частые вопросы

Можно ли хранить лицензии 1С на сетевом диске?
Нет. Платформа ищет файлы .lic только в локальных каталогах лицензий. Для общего доступа по сети используют сервер 1С или сетевой ключ HASP.
Сколько файлов лицензий может лежать в одной папке?
Ограничения на число файлов нет. Каждый активированный комплект — отдельный файл, платформа просматривает все.
Нужно ли перезапускать службу сервера после добавления лицензии?
Обычно сервер подхватывает новый файл сам. Если лицензия не появилась, перезапуск службы помогает, но он оборвёт сеансы всех пользователей — делайте его вне рабочего времени.
Где брать резервную копию лицензии, если компьютер сгорел?
Копия файла не поможет: железо другое. Активируйте лицензию на новом компьютере резервным пин-кодом из комплекта. Если пин-коды закончились, обратитесь к поставщику за новыми.
Видит ли 1С лицензию, записанную на флешку, если вставить её в компьютер?
Нет. Обычная флешка с файлом .lic ничего не даёт. Аппаратной лицензией считается только ключ HASP, а не файл на съёмном носителе.