Невозможно прочитать карту OpenPGP без прав root?

Невозможно прочитать карту OpenPGP без прав root?

Та же карта 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 есть много документации о том, что это делает. Я не знаю, почему мне пришлось вернуть карту в этот режим или что могло изменить режимы. Я даже не могу сказать, почему это сработало. Если кто-то знает, почему это могло сработать, я был бы рад обновить ответ более подробно.

Связанный контент