Добрый день, Алексей. Прошу прощения за задержку с ответом. Пришлось поэкспериментировать.
Вот что пишут наши техспецы:
Запускать образ для работы с рутокен S можно командой:
sudo docker run -it --net=host --privileged -v /dev/bus/usb:/dev/bus/usb:ro -v /run/udev:/run/udev:ro azul/zulu-openjdk:8 bash
Тут без --net=host корректно подключение-отключение рутокена не работало. Причину пока не выяснили, хотя опция должна влиять только на сеть.
--privileged необходим для проброса usb устройства внутрь контейнера. Дополнительно потребовалось сделать проброс -v /dev/bus/usb:/dev/bus/usb:ro для того, чтобы usb устройства виделись внутри контейнера.
-v /run/udev:/run/udev:ro этот проброс нужен, чтобы база данных подключенных устройств udev была видна в контейнере и при установке dpkg -i ifd-rutokens_1.0.4_amd64.deb не появлялась ошибка
installed ifd-rutokens package post-installation script subprocess returned error exit status 2
azul/zulu-openjdk:8 образ взял его, но должно работать и на обычной убунте.
далее устанавливались необходимые пакеты:
apt update ; apt install wget libccid libpcsclite1 pcscd udev opensc pcsc-tools libusb-0.1-4 -y ; wget https://download.rutoken.ru/Rutoken/Dri … _amd64.deb
и далее:
dpkg -i ifd-rutokens_1.0.4_amd64.deb
Работу рутокена проверяли командой:
pcscd –afddddd
При подключении и отключении были сообщения об успешном подключении и отключении:
root@ubuntu:/# pcscd -afddddd
00000000 debuglog.c:289:DebugLogSetLevel() debug level=debug
00000027 debuglog.c:289:DebugLogSetLevel() debug level=debug
00000012 debuglog.c:289:DebugLogSetLevel() debug level=debug
00000010 debuglog.c:289:DebugLogSetLevel() debug level=debug
00000010 debuglog.c:289:DebugLogSetLevel() debug level=debug
00000283 configfile.l:285:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000047 configfile.l:322:DBGetReaderListDir() Skipping non regular file: .
00000013 configfile.l:322:DBGetReaderListDir() Skipping non regular file: ..
00000008 configfile.l:361:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000088 pcscdaemon.c:662:main() pcsc-lite 1.8.23 daemon ready.
00007530 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000311 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000348 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0020, path: /dev/bus/usb/001/002
00000229 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000138 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000143 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0020, path: /dev/bus/usb/002/002
00000155 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x062A, PID: 0x4101, path: /dev/bus/usb/002/005
00000152 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x062A, PID: 0x4101, path: /dev/bus/usb/002/005
00000143 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0020, path: /dev/bus/usb/002/002
00000156 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/002/025
00000009 hotplug_libudev.c:436:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000040 readerfactory.c:1075:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000140 readerfactory.c:950:RFBindFunctions() Loading IFD Handler 3.0
00265490 readerfactory.c:396:RFAddReader() Using the reader polling thread
00000631 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0020, path: /dev/bus/usb/002/002
00000086 readerfactory.c:1410:RFWaitForReaderInit() Waiting init for reader: Aktiv Co. Rutoken S 00 00
00000380 eventhandler.c:287:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000023 Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00
13666619 hotplug_libudev.c:645:HPEstablishUSBNotifications() USB Device removed
00000554 hotplug_libudev.c:363:HPRemoveDevice() Removing USB device[0]: Aktiv Co. Rutoken S at /dev/bus/usb/002/025
00000197 readerfactory.c:610:RFRemoveReader() UnrefReader() count was: 1
00000355 eventhandler.c:173:EHDestroyEventHandler() Stomping thread.
00000030 eventhandler.c:183:EHDestroyEventHandler() Killing polling thread
00000547 eventhandler.c:213:EHDestroyEventHandler() Thread stomped.
00000017 readerfactory.c:1126:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.
00000054 readerfactory.c:987:RFUnloadReader() Unloading reader driver.
05985593 hotplug_libudev.c:651:HPEstablishUSBNotifications() USB Device add
00000210 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/002/026
00000011 hotplug_libudev.c:436:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000062 readerfactory.c:1075:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000206 readerfactory.c:950:RFBindFunctions() Loading IFD Handler 3.0
00071963 readerfactory.c:396:RFAddReader() Using the reader polling thread
00001238 eventhandler.c:287:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000024 Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00
04435364 hotplug_libudev.c:645:HPEstablishUSBNotifications() USB Device removed
00000274 hotplug_libudev.c:363:HPRemoveDevice() Removing USB device[0]: Aktiv Co. Rutoken S at /dev/bus/usb/002/026
00000013 readerfactory.c:610:RFRemoveReader() UnrefReader() count was: 1
00000010 eventhandler.c:173:EHDestroyEventHandler() Stomping thread.
00000008 eventhandler.c:183:EHDestroyEventHandler() Killing polling thread
00000118 eventhandler.c:213:EHDestroyEventHandler() Thread stomped.
00000015 readerfactory.c:1126:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.
00000051 readerfactory.c:987:RFUnloadReader() Unloading reader driver.
02658029 hotplug_libudev.c:651:HPEstablishUSBNotifications() USB Device add
00000174 hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/002/027
00000013 hotplug_libudev.c:436:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000055 readerfactory.c:1075:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000179 readerfactory.c:950:RFBindFunctions() Loading IFD Handler 3.0
00068460 readerfactory.c:396:RFAddReader() Using the reader polling thread
00001556 eventhandler.c:287:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000027 Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00
^C01580473 pcscdaemon.c:193:signal_thread() Received signal: 2
00000021 pcscdaemon.c:226:signal_thread() Preparing for suicide
00001358 hotplug_libudev.c:713:HPStopHotPluggables() Hotplug stopped
01000094 readerfactory.c:1353:RFCleanupReaders() entering cleaning function
00000019 readerfactory.c:1362:RFCleanupReaders() Stopping reader: Aktiv Co. Rutoken S 00 00
00000011 readerfactory.c:610:RFRemoveReader() UnrefReader() count was: 1
00000009 eventhandler.c:173:EHDestroyEventHandler() Stomping thread.
00000008 eventhandler.c:183:EHDestroyEventHandler() Killing polling thread
00000234 eventhandler.c:213:EHDestroyEventHandler() Thread stomped.
00000032 readerfactory.c:1126:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.
00000262 readerfactory.c:987:RFUnloadReader() Unloading reader driver.
00000079 winscard_svc.c:155:ContextsDeinitialize() remaining threads: 0
00000011 pcscdaemon.c:785:at_exit() cleaning /var/run/pcscd
С уважением, Алексей Лазарев, Компания "Актив"