Каталог licenses, ключ HASP и сервер 1С: как найти лицензию и не потерять её
Содержание
Программные лицензии 1С 8.3 хранятся в виде файлов с расширением .lic. В Windows основное место — C:\ProgramData\1C\licenses, в Linux — /var/1C/licenses. Аппаратные ключи HASP файлов лицензий не создают: лицензия «живёт» в самом USB-ключе, а на диске остаются только драйвер и настройки сетевого поиска.
Типичная ситуация: после переустановки Windows бухгалтер запускает 1С и видит окно получения лицензии, хотя «ключ покупали». Чаще всего лицензия никуда не делась — файл лежит в другом каталоге, у пользователя нет прав на папку или изменилось оборудование.
Как устроено лицензирование 1С: программные лицензии и ключи защиты
У платформы 1С:Предприятие 8.3 два вида защиты, и от вида зависит, где лицензию искать.
- 📄 Программная лицензия. Покупается с пин-кодом. При активации платформа собирает параметры компьютера, отправляет их в центр лицензирования и получает файл
.lic. Файл привязан к оборудованию и операционной системе этого компьютера. - 🔑 Аппаратный ключ HASP. USB-ключ: локальный (на одно место) или сетевой (на несколько мест, раздаётся через HASP License Manager). Лицензия зашита в ключ, файл на диске не нужен.
Есть ещё разделение по назначению:
| Что лицензируется | Кто её использует | Где обычно лежит |
|---|---|---|
| Клиентская лицензия на 1 место | Пользователь файловой базы или клиент | Компьютер пользователя или сервер 1С |
| Многопользовательская клиентская (5, 10, 20, 50, 100, 300, 500 мест) | Несколько пользователей одновременно | Сервер 1С или один выделенный компьютер |
| Лицензия на сервер 1С | Кластер серверов 1С | Компьютер, где работает сервер 1С |
Имя файла программной лицензии — набор цифр, сформированный по дате и времени получения, например 20240315104512345.lic. Само имя ничего не говорит о типе лицензии: что внутри, показывают средства диагностики из раздела ниже.
Сам файл .lic — не «ключ, который можно отдать другу». Скопированный на другой компьютер, он не заработает: проверка оборудования не пройдёт.
Где хранятся лицензии 1С в Windows
Платформа просматривает несколько каталогов. Главный — общий для всех пользователей компьютера:
C:\ProgramData\1C\licenses
Это то же самое, что %ALLUSERSPROFILE%\1C\licenses. Папка ProgramData скрытая: в Проводнике включите показ скрытых элементов или просто вставьте путь в адресную строку.
Второй вариант — каталог текущего пользователя:
%APPDATA%\1C\licenses
Обычно это C:\Users\<имя>\AppData\Roaming\1C\licenses. Лицензия из этой папки доступна только тому пользователю Windows, под которым её получили. Отсюда классическая жалоба: «у главбуха 1С открывается, а у кассира на том же компьютере просит лицензию».
Как быстро проверить оба каталога:
- Нажмите
Win + R. - Введите
%ALLUSERSPROFILE%\1C\licensesи нажмите Enter. - Повторите для
%APPDATA%\1C\licenses. - Если какой-то папки нет — в этом месте лицензий никогда не было, это нормально.
То же из командной строки:
dir "%ALLUSERSPROFILE%\1C\licenses\*.lic"
dir "%APPDATA%\1C\licenses\*.lic"
При активации платформа предлагает выбрать, для кого получить лицензию: для всех пользователей компьютера или только для текущего. На рабочих местах с несколькими учётными записями выбирайте первый вариант — файл ляжет в ProgramData.
Где лежат ключи HASP и их настройки
Для USB-ключа на диске нужны две вещи:
- 🛠️ Драйвер ключа (Sentinel / HASP). Устанавливается из дистрибутива платформы или с сайта производителя ключа. Без драйвера ключ виден в системе как неизвестное устройство.
- 📝 Файл
nethasp.ini— только для сетевых ключей. В нём указывают адрес компьютера, где запущен HASP License Manager. Файл лежит в подкаталогеconfкаталога установленной платформы.
Пример минимальной настройки сетевого поиска ключа по адресу:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Явный адрес вместо широковещательного поиска ускоряет запуск 1С и избавляет от ситуации, когда ключ «то находится, то нет».
Каталог лицензий 1С в Linux и macOS
В Linux общий каталог программных лицензий:
/var/1C/licenses
Его используют и клиент, и сервер 1С. Для сервера важна не только сама папка, но и права: служба сервера работает от пользователя usr1cv8, и он должен иметь право читать файлы.
Проверка наличия и прав:
ls -la /var/1C/licenses
Если файл лежит, но владелец root и права 600, сервер его не прочитает. Исправление:
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
sudo chmod 755 /var/1C/licenses
sudo chmod 644 /var/1C/licenses/*.lic
Не меняйте права на весь каталог /var/1C целиком — там могут лежать данные кластера, их владелец уже настроен установщиком.
На macOS 1С используют редко, в основном как тонкий клиент к серверу или к опубликованной базе. В таком сценарии клиентскую лицензию обычно выдаёт сервер, и локальный файл на Mac не нужен. Если лицензия всё же получена на Mac, проще всего найти её путь через окно «О программе» — способ описан ниже.
Лицензии в клиент-серверном варианте
Когда база работает на сервере 1С с MS SQL или PostgreSQL, лицензии делятся на два слоя.
- 🖥️ Лицензия на сервер 1С. Нужна самому кластеру. Лежит на компьютере, где запущен сервер 1С:
C:\ProgramData\1C\licensesв Windows или/var/1C/licensesв Linux. Сам сервер СУБД (SQL или PostgreSQL) лицензий 1С не хранит и в выдаче не участвует. - 👥 Клиентские лицензии. Их удобно держать на сервере 1С: тогда лицензию берёт сервер, и пользователю всё равно, с какого компьютера он зашёл. Это главное преимущество перед хранением на рабочих местах.
Клиент может использовать и лицензию со своего компьютера. Где именно взята лицензия в конкретном сеансе, видно в окне «О программе» и в консоли кластера.
Службу сервера 1С в Windows часто запускают от отдельной учётной записи. Если лицензия на сервер получена «для текущего пользователя» под администратором, файл ляжет в его %APPDATA%, и служба его не увидит. Для сервера всегда получайте лицензию для всех пользователей.
Сетевой ключ на сервере
Сетевой HASP-ключ на 5–500 мест обычно вставляют в сервер 1С или в любой постоянно включённый компьютер с HASP License Manager. Менеджер работает как служба и раздаёт места по сети по UDP/TCP-порту 475. Если между клиентами и менеджером стоит файрвол, этот порт должен быть открыт.
Как посмотреть, какая лицензия используется
Найти файл в папке — полдела. Важно понять, какую лицензию программа реально взяла в текущем сеансе.
Окно «О программе»
В запущенной 1С откройте меню (кнопка с тремя полосками или значок «?» в заголовке) и выберите О программе. В окне есть строка о полученной лицензии. Для программной лицензии там виден путь к файлу .lic и признак, где лицензия получена — на сервере или локально. Для ключа HASP указан тип ключа.
Это самый быстрый способ узнать, откуда берётся лицензия, на любом компьютере, включая Mac и Linux.
Консоль кластера и rac
В клиент-серверном варианте откройте Администрирование серверов 1С Предприятия, раскройте кластер и выберите ветку Сеансы. В списке сеансов можно посмотреть, какую лицензию занимает каждый пользователь.
То же — из командной строки через утилиту rac:
rac cluster list
rac session list --cluster=<id_кластера> --licenses
Вывод второй команды для каждого сеанса показывает путь к файлу лицензии, её серию, тип (программная или ключ HASP) и признак, выдал ли её сервер. Удобно, когда нужно понять, почему закончились места на 10 пользователей.
Утилита ring
В актуальных версиях платформы есть утилита лицензирования ring из пакета лицензионных инструментов. Список лицензий в каталоге и сведения о конкретной лицензии:
ring license list
ring license info --name <имя_лицензии>
Если команда не находится, ищите ring в каталоге установки платформы. Остальные подкоманды смотрите в справке ring license help.
C:\ProgramData\1C\licenses и %APPDATA%\1C\licenses. Если файл есть только во втором — он получен под другим пользователем Windows. Получите лицензию заново для всех пользователей или восстановите её на этой учётной записи.rac session list --licenses. Часто места заняты зависшими сеансами или пользователями, открывшими по две копии программы.nethasp.ini и отключите широковещательный поиск. Проверьте, что порт 475 не закрыт файрволом.Перенос и резервное копирование лицензий 1С
Программная лицензия привязана к оборудованию, поэтому «перенести файл» на новый компьютер не получится. Перенос — это новая активация на новой машине. Для неё нужны:
- Пин-код из комплекта поставки. В комплекте есть основной и резервные пин-коды.
- Регистрационные данные, которые вводили при первой активации: регистрационный номер продукта, данные организации.
- Доступ в интернет (или активация по телефону/через файл запроса, если компьютер без сети).
Каждая повторная активация расходует пин-код. Когда резервные коды закончатся, придётся обращаться к партнёру 1С или в центр лицензирования с подтверждением покупки.
Что сохранить заранее
- 🗂️ Копию всех файлов из
C:\ProgramData\1C\licenses(или/var/1C/licenses). - ✉️ Скан или фото конверта с пин-кодами и регистрационным номером.
- 🧾 Список: какой пин-код на какой компьютер активирован и когда.
Копия файла .lic помогает, когда параметры компьютера не изменились: например, вы переустановили платформу или случайно удалили папку. Положили файл обратно — лицензия снова работает без траты пин-кода. После замены материнской платы или переезда на новый сервер копия не поможет.
Порядок переезда сервера 1С
- Сохраните файлы из каталога лицензий старого сервера и записи о пин-кодах.
- Установите платформу и сервер 1С на новой машине той же версии.
- Получите лицензии на новом сервере заново — для всех пользователей.
- Проверьте выдачу командой
rac session list --licensesпосле входа одного пользователя. - Старый сервер выведите из работы: лицензия на нём формально останется, но пин-код уже израсходован на новую активацию.
Остановка службы сервера 1С на старой машине обрывает все сеансы. Делайте это после окончания рабочего дня и предупредите пользователей.
Для ключа HASP перенос проще: вынули ключ, вставили в новый компьютер, установили драйвер. Для сетевого ключа — ещё поставить HASP License Manager и поправить адрес в nethasp.ini на клиентах.
Частые ошибки доступа к файлам лицензий
Большинство проблем с «пропавшей» лицензией — не потеря файла, а одна из ситуаций ниже.
- 🔒 Нет прав на запись в каталог при активации. Пользователь без прав администратора не может создать файл в
ProgramData\1C\licenses. Активацию «для всех пользователей» запускайте от имени администратора. - 🔒 Нет прав на чтение у службы. Актуально для сервера 1С в Linux и Windows, когда файл скопировали вручную, а права наследовать забыли.
- 🧹 Чистилки и антивирусы. Программы «очистки системы» иногда трогают
ProgramData. Добавьте каталог licenses в исключения. - 🖥️ Виртуальная машина поменяла параметры. Перенос ВМ на другой хост, смена MAC-адреса виртуальной сетевой карты или пересоздание диска выглядят для лицензии как новый компьютер. Зафиксируйте параметры ВМ до активации.
- 🔁 Терминальный сервер и профили. Лицензия в
%APPDATA%одного пользователя не видна другим сеансам RDP. Для терминального сервера держите лицензии в общем каталоге или на сервере 1С.
Перед тем как получать лицензию заново, проверьте окно «О программе» у пользователя, у которого 1С работает. Путь к файлу из этого окна сразу подскажет, в каком каталоге искать.