Содержание
Описание: обеспечение доступа к смарт-картам через PC/SC (фоновая служба).
Назначение: Служба PC/SC используется для динамического подключения/отключения драйверов считывателей «на лету» и управления соединениями со считывателями.
Глобальные настройки
Для запуска сервиса pcscd с ненулевой меткой безопасности, файл /lib/systemd/system/pcscd.service следует привести к виду:
[Unit] Description=PC/SC Smart Card Daemon #Requires=pcscd.socket [Service] ExecStart=/usr/sbin/pcscd --foreground ExecReload=/usr/sbin/pcscd --hotplug CapabilitiesParsec=PARSEC_CAP_PRIV_SOCK [Install] #Also=pcscd.socket WantedBy=multi-user.target
После чего следует ввести команды:
sudo systemctl daemon-reload
sudo systemctl disable pcscd.socket
sudo systemctl restart pcscd.service
sudo systemctl enable pcscd.service
После запуска сервиса pcscd проверить, что ему присвоено значение ehole. Для этого воспользуйтесь командой:
sudo pdp-ls -Ma /var/run/pcscd/pcscd.comm
1) Атрибуты файле pcscd.comm, должно быть таким:
srw-rw-rw-m-- 1 root root Уровень_0:Низкий:Нет:ehole /var/run/pcscd/pcscd.comm
2) В ином случае следует удалить pcscd.comm командой:
sudo rm -r /var/run/pcscd/pcscd.comm
и перезапустить службу pcscd:
systemctl restart pcscd
Проверка
Для проверки, следует зайти под пользователем с ненулевой меткой безопасности и обратиться к токену:
к примеру с командой:
root@smolensk: # opensc-explorer OpenSC Explorer version 0.16.0 Using reader with a card: Aktiv Rutoken ECP 00 00 OpenSC [3F00]>
Запуск с определенным уровнем конфиденциальности
Для запуска сервиса pcscd с определенной меткой безопасности, файл /lib/systemd/system/pcscd.service следует привезти к виду:
[Unit] Description=PC/SC Smart Card Daemon [Service] ExecStart=/usr/sbin/pcscd --foreground ExecReload=/usr/sbin/pcscd --hotplug PDPLabel=1:63:0 [Install] WantedBy=multi-user.target
PDPLabel=<Уровень>:<Уровень целостности>:<Категории>
Формат метки PDPLabel аналогичен принятому в системе PARSEC за исключением поля типа - метки.
В блоке кода, указан пример с запуском службы pcscd с 1-ым уровнем конфиденциальности
После чего следует ввести команды:
sudo systemctl daemon-reload
sudo systemctl restart pcscd.service
sudo systemctl enable pcscd.service
sudo systemctl status pcscd.service