Kann OpenPGP-Karte als Nicht-Root nicht lesen?

Kann OpenPGP-Karte als Nicht-Root nicht lesen?

Dieselbe OpenPGP-Karte und dasselbe Lesegerät funktionierten unter Ubuntu 11.04 Natty einwandfrei. Nach dem Upgrade auf Ocelet mit einer Neuinstallation stieß ich auf das gleiche Problem wie diesesTyp hat hier etwas darüber gepostet.

Um Kartenlesevorgänge zusammenzufassen, wie

gpg --card-status

Jetzt nur noch mit dem sudo-Befehl arbeiten.

Antwort1

Ich habe noch ein paar interessantere Informationen zur Fehlerbehebung zu diesem Problem erhalten. Ich habe Ubuntu 10.04.3 LTS auf einem anderen System installiert und die OpenPGP-Smartcard-Einstellungen konfiguriert. Es funktioniert einwandfrei für mein Nicht-Root-Benutzerkonto. Natürlich wollte ich die Berechtigungen auf dem USB-Gerät überprüfen.

Unter meinem normalen Konto habe ich zuerst ausgeführt, gpg --card-editum das USB-Kartenlesegerät zu verknüpfen, dann habe ich versucht, sudo lsof -c gpg | grep usbdie Gerätedatei zu finden. Dies ergab nichts, also habe ich es ausgeführt sudo gpg --card-editund eine Fehlermeldung erhalten!

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

Etwas anderes blockierte den USB-Kartenleser. Lassen Sie uns herausfinden, was:

sudo lsof | grep usb

Dies brachte das Nugget zum Vorschein, nach dem ich gesucht hatte.

pcscd     2362       root    5u      CHR              189,4      0t0       2194 /dev/bus/usb/001/005

Der pcscd-Dienst greift also offensichtlich im Auftrag des Nicht-Root-Benutzers auf das Kartenlesegerät zu und leitet in einem ordnungsgemäß konfigurierten OpenPGP-Setup GPG-Lese-/Schreibanforderungen an die Karte weiter.

Werfen wir einen Blick auf die Berechtigungen der Gerätedatei.

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

OK, ich glaube, jetzt komme ich der Sache näher. Ich erinnere mich, dass auf dem 11.10-System die Gruppe auf pcscd und nicht auf root eingestellt war. Es sieht so aus, als ob das Problem beim pcscd-Paket liegen könnte. Ich werde versuchen, ein 11.10-System mit denselben Berechtigungen zu konfigurieren und mich dann wieder melden.

UPDATE: Ich habe also die Benutzer- und Gruppenberechtigungen auf dem USB-Gerät einer neuen 11.10 Ocelot-Installation auf root und root gesetzt. Der Befehl gpg --card-statusschlägt als Nicht-Root-Benutzer immer noch fehl. Ich vermute, dass dies vorerst ein Fehler im pcscd-Paket ist.

Antwort2

Ich hatte ein ähnliches Problem mit einem Yubikey Neo unter Ubuntu 16.04. Nach dem Neustart konnte ich den folgenden Befehl ausführen, um das Problem zu beheben.

ykpersonalize -m 82

Yubikey hat viele Dokumente dazu, was das bewirkt. Ich weiß nicht, warum ich die Karte wieder in diesen Modus versetzen musste oder was die Modi ändern könnte. Ich kann Ihnen nicht einmal sagen, warum es funktioniert hat. Wenn jemand weiß, warum das funktioniert haben könnte, aktualisiere ich die Antwort gerne mit weiteren Details.

verwandte Informationen