СБИС 3 Плагин от ТЕНЗОР

выдало ошибку
/opt/sbis3plugin/sbis3plugin --name “SBIS3Plugin” --library “auto” --ep “auto” start --daemon --output_file “/usr/share/Sbis3Plugin/logs/service_daemon.log”
SBIS3Plugin[16321]: Starting “SBIS3Plugin”
SBIS3Plugin[16321]: Creating new process for service monitor
SBIS3Plugin[16321]: Writing PID file: /var/run/sbis/SBIS3Plugin.pid
SBIS3Plugin[16327]: Started [pid = 16327]
SBIS3Plugin[16321]: Exception while creating PID file: Cannot create file “/var/run/sbis/SBIS3Plugin.pid”. No such file or directory
SBIS3Plugin[16327]: The termination signal is received

нужен каталог /var/run/sbis а есть только /var/run/sbisplugin

Спасибо NickM
Обновил ebuild.
Добавил инит скрипт
запуск
/etc/init.d/SBIS3Pugin-daemon start
rc-update add SBIS3Pugin-daemon default

1 Like

Спасибо, работает!

Однако, полагаю, что при установке всё же следует осуществлять попытку остановки сервиса и удаления PID-файла, иначе запуск сразу не осуществить.

Именно это и делает оригинальный юнит при установке:

Да я тоже это заметил. PID процессы иногда плодятся при перезапуске и сами не умирают. Надо подумать когда их прибивать.
Когда сервис нормально запущен, тогда в папке /usr/share/Sbis3Plugin/checking/21.4204.33/ лежит файл success, если не запустился то в этой парке лежат два файла init и kill
Еще при нормальном запуске в папке /usr/share/Sbis3Plugin/ появляются файлы current-version-meta.txt last-update-time.txt update-install-perm.locks user-config.ini и папки archives и tmp

Лечим pkill -f “sbis3plugin” (прибиваем процесс) и удаляем все файлы и папки приведенные выше

Ещё думаю, что потребуется правило для polkit, т.к. плагин при запуске правит конфиг “КриптоПро CSP”:

Sep 26 15:39:45 calculate pkexec[8291]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1000)
Sep 26 15:39:45 calculate pkexec[8291]: det: Executing command [USER=root] [TTY=unknown] [CWD=/opt/sbis3plugin/21.4204.33/service] [COMMAND=/bin/sh -c /opt/cprocsp/sbin/amd64/cpconfig-ini '\config\parameters\' -add long dynamic_readers 1]
Sep 26 15:39:45 calculate pkexec[8354]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1000)
Sep 26 15:39:45 calculate pkexec[8354]: det: Executing command [USER=root] [TTY=unknown] [CWD=/opt/sbis3plugin/21.4204.33/service] [COMMAND=/bin/sh -c /opt/cprocsp/sbin/amd64/cpconfig-ini '\config\parameters\' -add long ControlKeyTimeValidity 0]

Не уверен, но возможно, что подойдёт такое:
# cat /etc/polkit-1/rules.d/49-nopasswd_limited.rules

Спойлер
/* Allow members of the wheel group to execute the defined actions 
 * without password authentication, similar to "sudo NOPASSWD:"
 */
polkit.addRule(function(action, subject) {
    if ((action.id == "org.freedesktop.policykit.exec") &&
        subject.isInGroup("wheel"))
    {
        return polkit.Result.YES;
    }
});

тут я чтот-то не понял , а какого он лезет в конфиг cryptopro - типа конкурентам жизнь испортить? Что за :grinning:
Что он конкретно там правит?

NickM а вы на чистую систему ставили (какую)?
Если есть возможность то приведите вывод зависимых пакетов при установке.
надо еще покопаться с зависимостями - драйвера всякие для ключиков и тд и тп.

Вы имеете ввиду ROSA и Ubuntu?
Так вот, вторая была “чище” первой.

Логи установки плагина на обоих системах приведены ранее:

Нет я имею ввиду кальку и ее дистр CLD XFCE :grinning:

Сейчас проверим, переустановлюсь на ночную сборку от 23.09.2021

Можно о polkit подробнее - я особо с ним никогда не ковырялся

Готово!

Установка СБИС3-плагина выглядит так:

# emerge sbis3plugin
Спойлер
Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Running pre-merge checks for acct-group/openct-0-r1
>>> Running pre-merge checks for acct-group/pcscd-0-r1
>>> Running pre-merge checks for acct-user/pcscd-0-r1
>>> Emerging binary (1 of 9) acct-group/openct-0-r1::gentoo
>>> Emerging binary (2 of 9) acct-group/pcscd-0-r1::gentoo
>>> Emerging binary (3 of 9) app-arch/lzma-19.00::gentoo
>>> Emerging (4 of 9) app-crypt/sbis-libstdc-9.1.1::linuxbuh
>>> Installing (1 of 9) acct-group/openct-0-r1::gentoo
>>> Emerging binary (5 of 9) sys-libs/libstdc++-v3-3.3.6-r4::gentoo
>>> Installing (2 of 9) acct-group/pcscd-0-r1::gentoo
>>> Emerging binary (6 of 9) sys-libs/libudev-compat-186-r1::gentoo
>>> Installing (3 of 9) app-arch/lzma-19.00::gentoo
>>> Emerging binary (7 of 9) acct-user/pcscd-0-r1::gentoo
>>> Installing (5 of 9) sys-libs/libstdc++-v3-3.3.6-r4::gentoo
>>> Installing (6 of 9) sys-libs/libudev-compat-186-r1::gentoo
>>> Installing (7 of 9) acct-user/pcscd-0-r1::gentoo
>>> Installing (4 of 9) app-crypt/sbis-libstdc-9.1.1::linuxbuh
>>> Emerging binary (8 of 9) sys-apps/pcsc-lite-1.9.0::gentoo
>>> Installing (8 of 9) sys-apps/pcsc-lite-1.9.0::gentoo
>>> Emerging (9 of 9) app-crypt/sbis3plugin-21.4204.33::linuxbuh
>>> Installing (9 of 9) app-crypt/sbis3plugin-21.4204.33::linuxbuh
>>> Recording app-crypt/sbis3plugin in "world" favorites file...
>>> Jobs: 9 of 9 complete                           Load avg: 1.68, 1.41, 1.09

 * Messages for package acct-group/openct-0-r1:

 * Adding group 'openct' to your system ...
 *  - Groupid: 46

 * Messages for package acct-group/pcscd-0-r1:

 * Adding group 'pcscd' to your system ...
 *  - Groupid: 47

 * Messages for package acct-user/pcscd-0-r1:

 * Adding user 'pcscd' to your system ...
 *  - Userid: 47
 *  - Shell: /sbin/nologin
 *  - Home: /dev/null
 *  - Groups: pcscd,openct,usb
 *  - GECOS: added by portage for pcscd
 * Updating comment for user 'pcscd' ...
 *  - Comment: A user for pcsc-lite

 * Messages for package sys-apps/pcsc-lite-1.9.0:

 * Starting from version 1.6.5, pcsc-lite will start as user nobody in
 * the pcscd group, to avoid running as root.
 * 
 * This also means you need the newest drivers available so that the
 * devices get the proper owner.
 * 
 * Furthermore, a conf.d file is no longer installed by default, as
 * the default configuration does not require one. If you need to
 * pass further options to pcscd, create a file and set the
 * EXTRA_OPTS variable.
 * 
 * Hotplug support is provided by udev rules.
 * When using OpenRC you additionally need to tell it to hotplug
 * pcscd by setting this variable in /etc/rc.conf:
 * 
 *     rc_hotplug="pcscd"

 * Messages for package app-crypt/sbis3plugin-21.4204.33:

 * Пропишите автозапуск rc-update add SBIS3Plugin-daemon default
 * запустите /etc/init.d/SBIS3Plugin-daemon start
 * запустите приложение самостоятельно с помощью ярлыка на рабочем столе.
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

Спасибо. Интересует вопрос - какие либо ключи использовали? Рутокен например? Надо проверить на чистой установке работу ключевых носителей (я к сожалению не могу у меня их просто нет сейчас) Рутокена и прочих. Главное чтобы не был установлен криптопро - он тянет свои ключи.

СБИС3 плагин без “Крипто Про CSP” не работает с ключами.

Полноценную работу СБИС3 плагина смогу проверить только на рабочей неделе в связке с “Крипто Про CSP v5 R2”

Вот это плохо, надо сделать будет что-бы работал без криптопро если это возможно.
например дрова для ключиков были но чтобы без криптопро.
то-есть походу надо будет выдрать дрова для ключей из криптопро пакета в отдельный ebuild
Пока видимо надо в зависимости поставить криптопро или только для рутокен дрова отдельно ставить из гита активпро

Ммм, как по Мне, то этого ни в коем случае делать не следует.
По нескольким причинам…, например:

  1. Не следует дербанить СКЗИ “КриптоПро CSP”;
  2. Клиенты Тензора при получении подписи получают лицензию СКЗИ;
  3. СБИС3 плагин самостоятельный/ законченный продукт и не следует его кастомизировать.

У вас ключь rutokens? А попробуйте поставить сбис без криптопро и поставить пакет из моего репо ifd-rutokens

Ключ на Rutoken’е имеется, но не вижу никакого смысла в этом, т.к. без СКЗИ плагин не работает с ЭП (для всего остального СКЗИ плагину не нужно).

Даже и не знаю как ответить на вопрос (Сам их пару-тройку раз от силы писал)… в двух словах, некоторым приложениям требуется повышенный доступ, правило polkit по описываемым параметрам либо этот доступ разрешает, либо запрещает.

Этакий разовый sudo для определенного действия.

СБИС3 плагину повышенный доступ требуется тогда, когда, в системе установлен СКЗИ “Крипто Про CSP” и плагин пытается править *.ini-конфиг СКЗИ.

Спасибо . понятно. надо запретить править конфиг криптопро, но сначала разобраться нужен ли сбису сам криптопро (может они в тандеме работают и правка конфига крипты со стороны сбиса это нужный шаг) или еще чего.
Нужно тестить. пока сделаю use флаги для сбиса для рутокен без зависимости от криптопро и с зависимостью от криптопро, а там посмотрим.
Прсто не особо правильно завязывать сбис и криптопро из-за дров на ключи ( рутокен не зависим) а остальные ключи - вопос