Как настроить комьюнити-лицензию 1С на ОС Linux и что делать, если она не обнаруживается?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Работа с платформой 1С:Предприятие в среде Linux имеет свои особенности, особенно когда речь идет о системе лицензирования. Одной из частых проблем, с которыми сталкиваются разработчики и администраторы, является ситуация, когда комьюнити-лицензия (лицензия для разработчиков) активирована успешно, но при запуске базы система выдает сообщение об отсутствии лицензии. В этой статье мы подробно разберем, как правильно настроить окружение, разграничить права доступа и обеспечить стабильную работу защиты 1С на Linux-системах, таких как Ubuntu и Astra Linux.

Проверка системных требований платформы

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

Также проанализируем разрядность системы. Современные дистрибутивы Linux требуют 64-битную платформу. Если вы используете 32-битную версию 1С на 64-битной ОС, убедитесь, что в системе установлены соответствующие библиотеки совместимости, иначе компоненты защиты просто не смогут инициализироваться.

Где 1С хранит файлы лицензий на Linux?

Выясним причину, по которой папка /var/1c/licenses/ может оказаться пустой. Расположение файла с расширением .lic напрямую зависит от того, в каком режиме запускается база данных и под каким пользователем работает процесс.

  1. Серверный вариант (Client-Server): В этом случае за поиск и проверку лицензии отвечает процесс сервера rphost. Лицензия должна располагаться в общем каталоге /var/1c/licenses/. Проанализируем важный нюанс: владельцем этой директории и самого файла должен быть пользователь, от имени которого запущен демон сервера 1С (обычно это usr1cv8).
  2. Файловый вариант: Здесь лицензию ищет само клиентское приложение. Платформа проверяет домашний каталог текущего пользователя по пути ~/.1cv8/1C/1cv8/conf/. Если вы активировали лицензию под учетной записью администратора, а запускаете базу под обычным пользователем, система ее не увидит.

Настройка прав доступа и владельцев

Разберем по шагам, как правильно выставить права доступа в терминале Linux, чтобы платформа могла беспрепятственно считывать данные защиты. Если мы работаем с серверной базой, выполним следующие команды для настройки каталога:


# Создаем директорию, если она отсутствует
sudo mkdir -p /var/1c/licenses

# Назначаем владельцем пользователя сервера 1С и его группу
sudo chown -R usr1cv8:grp1cv8 /var/1c/licenses

# Устанавливаем права на чтение и выполнение для владельца
sudo chmod -R 755 /var/1c/licenses

Для файлового варианта работы, если вы хотите, чтобы лицензия была доступна всем пользователям системы, рекомендуется также использовать путь /var/1c/licenses, но при этом необходимо явно указать платформе, где искать этот каталог. Для этого отредактируем файл conf.cfg, который обычно находится в /opt/1cv8/x86_64/8.3.XX.XXXX/conf/.

Особенности работы в виртуальной среде

Проанализируем ситуацию, описанную в теме: лицензия «слетает» или двоится в консоли разработчика. В виртуальных машинах (например, на Ubuntu 20.04 LTS) программная лицензия жестко привязывается к характеристикам виртуального оборудования. Критически важно зафиксировать MAC-адрес сетевого адаптера в настройках гипервизора. Если MAC-адрес установлен как «динамический», то при каждой перезагрузке виртуальной машины идентификатор компьютера будет меняться, и 1С сочтет, что лицензия была перенесена на другой ПК.

Также на привязку влияют:

Специфика Astra Linux и мандатного доступа

Если вы используете Astra Linux (особенно в режиме повышенной защищенности «Смоленск»), стандартных прав chmod может быть недостаточно. В этой ОС работает система мандатного управления доступом (PARSEC). Посмотрим на ситуацию глазами системы безопасности: даже обладая правами root, процесс может быть заблокирован, если у него неверный уровень целостности.

Убедитесь, что файлы лицензий не имеют специфических меток безопасности, ограничивающих чтение процессом 1cv8. Проверить это можно командой ls -Z. Кроме того, для корректной работы графического диалога активации в Astra Linux должны быть установлены пакеты libfontconfig1 и libfreetype6.

Устранение конфликта с аппаратными ключами

Иногда платформа тратит слишком много времени на поиск USB-ключа HASP, что приводит к таймауту или предложению использовать аппаратную защиту. Чтобы ускорить запуск и заставить систему сразу искать программную комьюнити-лицензию, настроим файл nethasp.ini. Нам нужно убедиться, что поиск по сети отключен, если у вас нет сетевого ключа. Найдем и установим следующие параметры:


[NH_COMMON]
NH_TCPIP = Disabled

[NH_TCPIP]
# Явное отключение широковещательного поиска
NH_USE_BCAST = Disabled

Решение проблемы с отсутствующими библиотеками

Если файл лицензии физически присутствует в папке, права настроены верно, но 1С все равно его «не видит», проблема может заключаться в отсутствии системных библиотек, необходимых для работы модуля защиты (HASP/Sentinel/Internal protection). В дистрибутивах Ubuntu 20.04 и выше часто требуется ручная установка библиотеки libenchant.

Выполним команду для установки недостающих зависимостей:


sudo apt-get update
sudo apt-get install libenchant1c2a libcanberra-gtk-module libcanberra-gtk3-module

Итоги и рекомендации

Подводя итог, отметим: если вы видите две активации на одно и то же имя компьютера в консоли разработчика, это явный признак того, что у виртуальной машины изменился один из ключевых параметров (скорее всего, MAC-адрес или UUID). Не спешите удалять лицензию, так как повторная активация после удаления возможна только через 7 дней. Попробуйте сначала привести параметры виртуального железа в соответствие с теми, что были на момент первой активации.

Совместная настройка прав доступа, фиксация параметров виртуальной машины и установка необходимых системных библиотек позволяют успешно использовать комьюнити-лицензию 1С на Linux для целей разработки и тестирования.

← На главную