Подробный гайд: pcsc_scan не видит Рутокен на Альт Линукс в ВМ zVirt - Часть 2
5. Проверить авторизацию устройства и возможные блокировки
Проверьте:
cat "$DEV/authorized"
Должно быть:
1
Если:
0
Разрешите устройство:
echo 1 | sudo tee "$DEV/authorized"
Затем снова проверьте:
ls -d "$DEV":*
cat "$DEV":*/bInterfaceClass
Если в системе есть usbguard, проверьте его:
command -v usbguard >/dev/null && sudo usbguard list-devices
Если устройство заблокировано, его нужно разрешить через usbguard, но это уже зависит от вашей политики безопасности.
6. Проверить SELinux
Если в Альт включён SELinux, он может мешать доступу к устройству.
Проверьте:
command -v getenforce >/dev/null && getenforce
Если вывод:
Enforcing
Временно переведите в режим предупреждений только для диагностики:
sudo setenforce 0
Затем повторите запуск pcscd и pcsc_scan.
Если заработает, нужно смотреть аудит:
sudo ausearch -m avc -ts recent | tail -n 30
или, если ausearch недоступен:
sudo dmesg | grep -i denied
После диагностики верните:
sudo setenforce 1
Не оставляйте setenforce 0 на постоянной основе.
7. Правильно перезапустить pcscd и посмотреть отладку
Остановите текущие процессы:
sudo systemctl stop pcscd pcscd.socket 2>/dev/null
sudo pkill -f pcscd 2>/dev/null
sudo rm -rf /var/run/pcscd
Запустите вручную:
sudo /usr/sbin/pcscd -afd
В хорошем случае после подключения токена должна появиться строка:
Looking for a driver for VID: 0x0A89, PID: 0x0030
Если такая строка появляется, значит устройство уже дошло до pcscd.
Если после этого появляется ошибка вроде:
no matching driver
или драйвер не находится, тогда уже нужно проверять Info.plist, пути установки драйверов и симлинки. Если строки с 0x0A89 нет вообще — проблема всё ещё в sysfs / udev / пробросе.
8. Попробовать принудительный опрос ридеров
Иногда помогает опция принудительного опроса, если она есть в вашей версии pcscd.
Проверьте:
/usr/sbin/pcscd --help | grep -i poll
Если есть опция вроде:
--force-reader-polling
или короткая -e, попробуйте:
sudo /usr/sbin/pcscd -afd --force-reader-polling
или:
sudo /usr/sbin/pcscd -afd -e
Если с этой опцией Рутокен появился, а без неё нет, значит проблема в механизме hotplug/udev.
9. Проверить драйверы pcsc-lite-ccid
У вас установлены:
pcsc-lite-ccid-1.5.2-alt1.x86_64
libpcsclite-1.9.9-alt1.x86_64
pcsc-tools-1.6.0-alt1.x86_64
opensc-0.24.0-alt1.x86_64
Это нормальный набор. openct у вас не установлен, и для современных Рутокенов, которые работают как CCID, он обычно не нужен.
Проверьте содержимое пакета:
rpm -ql pcsc-lite-ccid | grep -E 'Info.plist|libifd|drivers'
Проверьте, где лежат драйверы:
ls -ld /usr/lib/pcsc/drivers /usr/lib64/pcsc/drivers
Найдите Info.plist:
find /usr/lib /usr/lib64 -name Info.plist -path '*ccid*' -print -exec grep -i -A3 -B3 '0a89' {} +
Вы должны найти запись для:
0x0A89
0x0030
Проверьте целостность пакета:
rpm -V pcsc-lite-ccid libpcsclite pcsc-tools
Если вывод пустой — хорошо.
Если есть изменения файлов, можно переустановить:
sudo apt-get update
sudo apt-get install --reinstall pcsc-lite-ccid pcsc-lite
Но повторюсь: судя по вашему логу, проблема пока не в Info.plist, потому что pcscd даже не пытается обработать Рутокен.
10. Проверить, не занят ли Рутокен другим процессом
Иногда устройство может быть занято другим демоном.
Проверьте:
ps aux | grep -Ei 'pcscd|openct|scdaemon|gpg-agent|crypto' | grep -v grep
Если есть scdaemon или openct, остановите для теста:
gpgconf --kill scdaemon 2>/dev/null
sudo pkill -f scdaemon 2>/dev/null
sudo pkill -f openct 2>/dev/null
Если есть openct, лучше не устанавливать его без явной необходимости. Он может конфликтовать с pcsc-lite.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.