Файлы лицензий 1С на сервере Windows и Linux: где лежат и как их уберечь
Содержание
Программные лицензии 1С хранятся на сервере в виде файлов с расширением .lic. В Windows общий каталог — C:\ProgramData\1C\licenses, в Linux — /var/1C/licenses. Аппаратная защита (ключ HASP) файлов не создаёт: лицензия «живёт» в самом USB-ключе.
Чаще всего путь ищут в трёх ситуациях: сервер переезжает, после переустановки ОС база не запускается или администратор хочет убедиться, что ключи не потеряются. Ниже по каждому случаю — где искать файлы, что можно копировать, а что бесполезно.
Как устроено хранение лицензий в клиент-серверном варианте 1С
В клиент-серверной установке лицензии бывают двух видов, и хранятся они по-разному.
- 🖥️ Лицензия на сервер 1С:Предприятия — нужна, чтобы кластер вообще работал. Её получает сам сервер, поэтому файл должен лежать на машине, где запущен кластер.
- 👥 Клиентские лицензии — на количество одновременных сеансов. Их можно разместить двумя способами: на каждом рабочем месте или централизованно на сервере.
Когда клиентские лицензии лежат на сервере, их выдаёт кластер. Для этого в свойствах информационной базы в консоли кластера должна быть разрешена выдача лицензий сервером 1С:Предприятия. Через rac это параметр --license-distribution команды rac infobase update (значение allow).
Кто реально получает лицензию на сервере — служба 1С. Она работает от отдельной учётной записи, обычно USR1CV8 в Windows и usr1cv8 в Linux. Отсюда главное правило:
Файл лицензии должен лежать там, где его видит учётная запись службы сервера 1С, а не тот администратор, который выполнял активацию.
Порядок поиска файлов
Платформа просматривает несколько каталогов: общий для всех пользователей и личный каталог текущего пользователя. Найденные лицензии суммируются. Если файл лежит в профиле вашего администратора, служба сервера его не увидит, и ошибка появится уже у пользователей.
Каталоги лицензий 1С на сервере Windows
| Каталог | Кто видит лицензию | Когда уместен |
|---|---|---|
C:\ProgramData\1C\licenses | все пользователи и службы компьютера | рекомендуемый вариант для сервера |
C:\Users\<имя>\AppData\Roaming\1C\licenses | только этот пользователь | личные лицензии на рабочей станции |
C:\Users\USR1CV8\AppData\Roaming\1C\licenses | только служба сервера 1С | если активацию выполняли от имени службы |
Каталог ProgramData по умолчанию скрыт. Чтобы открыть его быстро, введите в адресной строке Проводника %ALLUSERSPROFILE%\1C\licenses. Личный каталог открывается через %APPDATA%\1C\licenses.
Как найти все файлы лицензий на диске, если не помните, куда их положили:
dir C:\*.lic /s /b 2>nul
Команда выведет полные пути всех .lic. Кроме лицензий 1С могут попасться файлы других программ — отличайте их по каталогу 1C\licenses.
Файлы из старых установок 8.2 лежали в каталоге 1Cv82\conf внутри профиля. Платформа 8.3 их там не ищет. Если после перехода с 8.2 лицензия «пропала», дело часто в этом.
Права на каталог
Учётной записи службы нужно право чтения на C:\ProgramData\1C\licenses. При активации через мастер платформа также пишет в этот каталог, поэтому мастер запускают от имени администратора.
Проверить, от какой учётной записи работает служба: откройте services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3», вкладка «Вход в систему».
Где искать файлы лицензий 1С на сервере Linux
В Linux логика та же: общий каталог и каталог в домашней папке пользователя.
| Каталог | Назначение |
|---|---|
/var/1C/licenses | общий каталог для всех пользователей, включая usr1cv8 |
~/.1cv8/1C/licenses | личный каталог пользователя (для службы — в домашнем каталоге usr1cv8) |
Найти все файлы лицензий и проверить права:
sudo find / -name "*.lic" -path "*1C*" 2>/dev/null
ls -la /var/1C/licenses
Типовая настройка прав для общего каталога:
sudo mkdir -p /var/1C/licenses
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
sudo chmod 750 /var/1C/licenses
sudo chmod 640 /var/1C/licenses/*.lic
Группу уточните командой id usr1cv8 — в разных сборках установки она может называться иначе. Главное, чтобы владелец службы читал файлы, а посторонние пользователи системы — нет.
Если активировали лицензию от root без явного указания каталога, файл мог оказаться в /root. Найдите его командой выше и перенесите в /var/1C/licenses.
К чему привязана программная лицензия
Программная лицензия — не просто ключ, а «слепок» компьютера, на котором её активировали. При каждом получении лицензии платформа сравнивает текущие параметры машины с теми, что записаны в файле.
В слепок входят:
- 💽 серийные номера и модели дисков;
- 🧠 процессор и объём оперативной памяти;
- 🌐 MAC-адреса сетевых адаптеров;
- 🏷️ имя компьютера и версия операционной системы.
Небольшие изменения допускаются: добавить сетевую карту или поменять один диск обычно можно без последствий. Но если изменилось много параметров сразу, лицензия становится недействительной, и её нужно активировать заново.
Что ломает привязку на практике
- 🔁 замена материнской платы или переезд на новый сервер;
- 🖧 в виртуальной машине — динамический MAC-адрес, который меняется при перезапуске или миграции между узлами;
- 🧬 клонирование виртуальной машины: копия получает тот же файл, но другие параметры;
- 💿 переустановка ОС с переименованием сервера.
Для сервера 1С в виртуальной машине закрепите статический MAC-адрес в настройках гипервизора до активации. Иначе лицензия может слететь после обычной миграции ВМ между хостами.
Почему копия файла спасает не всегда
Резервная копия .lic полезна, только если оборудование осталось прежним. Переустановили Windows на том же сервере, имя компьютера сохранили — восстановите файл в каталог лицензий и проверьте запуск.
Если же поменялись диски или сетевые карты, копия не поможет. Платформа сравнит слепок и откажет. В этом случае не тратьте время на перебор каталогов: сразу переходите к повторной активации.
Пин-коды
Активация делается по пин-коду из комплекта поставки. В комплекте есть основной и резервные пин-коды. Резервные нужны как раз на случай смены оборудования или переустановки системы. Конверт с пин-кодами храните так же бережно, как документы на лицензию.
Терминальный сервер и сервер 1С на одной машине
Частая схема в небольших компаниях: на одном сервере работают и кластер 1С, и терминальный доступ. Тогда клиентские лицензии удобно держать в общем каталоге этой машины.
- 🖥️ Клиенты, запущенные в терминальных сессиях, найдут файл в
C:\ProgramData\1C\licenses, потому что это локальный компьютер для каждого из них. - 🔐 Служба сервера 1С найдёт там же серверную лицензию.
Если сервер 1С и терминальный сервер — разные машины, файлы на терминальном сервере нужны только тогда, когда выдача лицензий кластером выключена.
Утилита ring: как посмотреть и проверить лицензии
На серверах без графического интерфейса, прежде всего в Linux, лицензиями управляют консольной утилитой ring из пакета лицензирования платформы. Для работы ей нужна Java.
Основные команды, которыми пользуются администраторы:
# список активированных лицензий
ring license list
# подробности по конкретной лицензии
ring license info --name <имя_лицензии>
# проверить, действительна ли лицензия на этом оборудовании
ring license validate --name <имя_лицензии>
Имя лицензии берётся из вывода ring license list. Если файлы лежат не в каталоге по умолчанию, укажите его параметром --path.
Команда validate — лучший способ быстро понять, что произошло после изменения «железа». Если она сообщает о несоответствии оборудования, копировать файл бесполезно: нужна повторная активация.
Для активации используется ring license activate. Параметров много (пин-код, регистрационный номер комплекта
, сведения о владельце), поэтому сверяйтесь с встроенной справкой:
ring license activate --help
Как проверить, кто занял лицензии
Посмотреть, какие сеансы получили лицензию и откуда, можно в консоли кластера или командой:
rac session list --cluster=<uuid_кластера> --licenses
Идентификатор кластера даёт rac cluster list. Так видно, выдаёт ли лицензии сервер или пользователи берут их с локальных файлов.
Аппаратные ключи HASP на сервере
С аппаратной защитой вопрос «где хранится» решается просто: лицензия записана в USB-ключе. На диске хранятся только драйвер и настройки поиска ключа.
| Что | Где находится |
|---|---|
| Серверный ключ (лицензия на сервер) | вставлен в сам сервер 1С |
| Сетевой ключ на рабочие места | на любом компьютере сети, где запущен HASP License Manager |
| Настройки поиска сетевого ключа | файл nethasp.ini в каталоге conf установленной платформы |
В nethasp.ini обычно прописывают адрес компьютера с ключом, чтобы клиенты не искали его широковещательно по всей сети:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Для виртуального сервера ключ пробрасывают в ВМ средствами гипервизора или через USB-over-IP. Если проброс отвалился, сервер ведёт себя так же, как при потере программной лицензии.
Как защитить лицензии 1С от потери и копирования
Файл лицензии нельзя «украсть» в привычном смысле: на чужом компьютере он не заработает из-за привязки. Реальные угрозы другие — потеря файла, случайное удаление и порча привязки.
Что стоит сделать сразу после активации:
- Сохраните копии всех
.licвместе с резервной копией сервера. Восстановить их можно только на то же оборудование, но после переустановки ОС на прежнем железе это часто избавляет от повторной активации. - Закройте каталог лицензий на запись для всех, кроме администраторов. Учётной записи службы достаточно чтения.
- Отключите массовую «очистку временных файлов» и антивирусные правила, которые трогают
ProgramData\1C. - Запишите в паспорт сервера регистрационные номера комплектов, номера использованных пин-кодов и дату активации.
- В виртуальной среде закрепите MAC-адрес и запретите клонирование ВМ с сервером 1С без согласования.
Попытки перенести лицензию правкой файла или эмуляцией оборудования — нарушение лицензионного соглашения. К тому же такие «решения» ломаются при первом обновлении платформы. Легальный путь — повторная активация резервным пин-кодом.
Ошибки при переезде сервера и восстановлении лицензий
Самый частый текст, который видят пользователи после переноса:
Не обнаружен ключ защиты программы или полученная программная лицензия!
Причин у этого сообщения несколько. Разберите их по порядку — от простой к сложной.
C:\ProgramData\1C\licenses или /var/1C/licenses) и проверьте права службы.Порядок переезда без простоя
- Заранее проверьте, сколько резервных пин-кодов осталось.
- Поднимите новый сервер, установите ту же или более новую платформу.
- Активируйте лицензию на новом сервере.
- Переключите пользователей на новый кластер в нерабочее время.
- Удалите файл лицензии со старого сервера.
Если перед переключением нужно остановить службу 1С на старом сервере, предупредите пользователей: все открытые сеансы оборвутся, несохранённые документы пропадут. Делайте это вечером или в выходной.
Если резервные пин-коды закончились, лицензию восстанавливают через центр лицензирования 1С. Понадобятся регистрационный номер комплекта и документы на покупку.