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-edit
um das USB-Kartenlesegerät zu verknüpfen, dann habe ich versucht, sudo lsof -c gpg | grep usb
die Gerätedatei zu finden. Dies ergab nichts, also habe ich es ausgeführt sudo gpg --card-edit
und 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-status
schlä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.