Та же карта OpenPGP и настройка считывателя работали нормально на Ubuntu 11.04 Natty. После обновления до Ocelet с чистой установкой я столкнулся с практически той же проблемой, что ипарень написал здесь.
Подводя итог операциям чтения карт, таким как
gpg --card-status
Теперь работайте только с командой sudo.
решение1
Получил более сочную информацию по устранению неполадок в этой проблеме. Я установил Ubuntu 10.04.3 LTS на другую систему и настроил параметры смарт-карты OpenPGP. Она работает нормально для моей учетной записи пользователя без прав root. Естественно, я хотел проверить разрешения на устройстве USB.
Под своей обычной учетной записью я сначала запустил, gpg --card-edit
чтобы связать устройство чтения карт USB, затем я запустил, sudo lsof -c gpg | grep usb
чтобы найти файл устройства. Это ничего не дало, поэтому я запустил sudo gpg --card-edit
и получил сообщение об ошибке!
seth@swk:~$ sudo gpg --card-edit
[sudo] password for seth:
gpg: WARNING: unsafe ownership on configuration file `/home/seth/.gnupg/gpg.conf'
gpg: detected reader `SCM SCR 3310 00 00'
gpg: pcsc_connect failed: sharing violation (0x8010000b)
gpg: apdu_send_simple(0) failed: locking failed
Please insert the card and hit return or enter 'c' to cancel: c
gpg: selecting openpgp failed: general error
gpg: OpenPGP card not available: general error
Что-то еще тормозило usb card reader. Давайте выясним, что:
sudo lsof | grep usb
Это дало мне то, что я искал.
pcscd 2362 root 5u CHR 189,4 0t0 2194 /dev/bus/usb/001/005
Таким образом, очевидно, что служба pcscd захватывает устройство чтения карт от имени пользователя, не являющегося пользователем root, и ретранслирует запросы чтения/записи gpg на карту при правильно настроенной настройке OpenPGP.
Давайте посмотрим на права доступа к файлу устройства.
seth@swk:~$ ls -l /dev/bus/usb/001/005
crw-rw-r-- 1 root root 189, 4 2011-10-18 11:49 /dev/bus/usb/001/005
Хорошо, теперь я думаю, что приближаюсь к цели. Я помню, что в системе 11.10 группа была установлена на pcscd, а не на root. Похоже, проблема может быть в пакете pcscd. Я попробую настроить систему 11.10 с теми же разрешениями и сообщу об этом.
ОБНОВЛЕНИЕ: Итак, я установил разрешения пользователя и группы на usb-устройстве свежей установки 11.10 Ocelot на root и root. Команда gpg --card-status
все еще не выполняется для пользователя без прав root. Я предполагаю, что это ошибка в пакете pcscd на данный момент.
решение2
У меня была похожая проблема с Yubikey Neo на Ubuntu 16.04. После перезапуска я смог выполнить следующую команду, чтобы исправить это.
ykpersonalize -m 82
У Yubikey есть много документации о том, что это делает. Я не знаю, почему мне пришлось вернуть карту в этот режим или что могло изменить режимы. Я даже не могу сказать, почему это сработало. Если кто-то знает, почему это могло сработать, я был бы рад обновить ответ более подробно.