Найти нужный токен

Добрый день.

Зашел в тупик, нужна помощь с определением нужного токена среди нескольких одинаковых. В дальнейшем токены прокидываются в докер контейнер (привелигерованый режим), удаляются лишние. В контейнере может быть только один токен (ЕГАИС УТМ).

имеем lsusb

Bus 001 Device 010: ID 0a89:0030 Aktiv Rutoken ECP
Bus 001 Device 009: ID 0a89:0030 Aktiv Rutoken ECP
Bus 001 Device 008: ID 0a89:0030 Aktiv Rutoken ECP
Bus 001 Device 011: ID 0a89:0030 Aktiv Rutoken ECP
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

и имеем pkcs11-tool --module /opt/utm/lib/librtpkcs11ecp.so -T

Available slots:
Slot 0 (0x0): Aktiv Rutoken ECP 00 00
  token label        : Rutoken ECP <no label>
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
  hardware version   : 20.5
  firmware version   : 23.2
  serial num         : 397b84c4
  pin min/max        : 6/32
Slot 1 (0x1): Aktiv Rutoken ECP 01 00
  token label        : Rutoken ECP <no label>
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
  hardware version   : 20.5
  firmware version   : 23.2
  serial num         : 3a7a7210
  pin min/max        : 6/32
Slot 2 (0x2): Aktiv Rutoken ECP 02 00
  token label        : 401110779350
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
  hardware version   : 20.5
  firmware version   : 23.2
  serial num         : 3a7a7113
  pin min/max        : 6/32
Slot 3 (0x3): Aktiv Rutoken ECP 03 00
  token label        : 4027118705
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
  hardware version   : 20.5
  firmware version   : 23.2
  serial num         : 379a4eb5
  pin min/max        : 8/32

Уникальность токена можно получить по его серийнику или лейблу (если установлен). Но они видны только в pkcs11-tool.
Как соотнести номер слота из pkcs11-tool с DeviceNum из lsusb?

Re: Найти нужный токен

Добрый день.
Могу предложить следующий алгоритм: Последовательно подключать токены по одному и записывать номер слота и серийник в локальную базу данных.
После этого уже можно будет по этой базе данных подключать нужный токен в нужный контейнер.

Re: Найти нужный токен

Доброго дня.
Спасибо, хорошая идея.

Была ещё идея привязаться к номерам портов через udev, написав пачку правил, но обслуживать этот зоопарк будет ой как не просто.

Re: Найти нужный токен

А ведь можно и совместить эти идеи: по правилу udev запускать скрипт перестроения локальной базы соответствия   lsusb лейблам токенов.