La même carte OpenPGP et la même configuration de lecteur fonctionnaient correctement sous Ubuntu 11.04 Natty. Après la mise à niveau vers Ocelet avec une nouvelle installation, je suis tombé sur le même problème que ce type a posté ici.
Pour résumer les opérations de lecture de carte telles que
gpg --card-status
Maintenant, travaillez uniquement avec la commande Sudo.
Vous avez des informations de dépannage plus juteuses sur ce problème. J'ai installé Ubuntu 10.04.3 LTS sur un autre système et configuré les paramètres de la carte à puce OpenPGP. Cela fonctionne correctement pour mon compte d'utilisateur non root. Naturellement, je voulais vérifier les autorisations sur le périphérique USB.
Sous mon compte normal, j'ai d'abord lancé un gpg --card-edit
pour connecter le lecteur de carte USB, puis un Sudo lsof -c gpg | grep usb
pour rechercher le fichier de périphérique. Cela a donné lieu à des remarques, j'ai donc lancé Sudo gpg --card-edit
et obtenu un message d'erreur!
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
Quelque chose d'autre bloquait le lecteur de carte USB. Découvrons quoi:
Sudo lsof | grep usb
Cela a donné la pépite que je cherchais.
pcscd 2362 root 5u CHR 189,4 0t0 2194 /dev/bus/usb/001/005
Donc, apparemment, le service pcscd s'empare du lecteur de carte pour le compte de l'utilisateur non root et relaie les demandes de lecture/écriture gpg à la carte sur une configuration OpenPGP correctement configurée.
Jetons un coup d'œil aux autorisations du fichier de périphérique.
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, maintenant je pense que je me rapproche. Sur le système 11.10, je me souviens que le groupe était configuré sur pcscd et non sur root. Le problème pourrait provenir du paquet pcscd. Je vais essayer de configurer un système 11.10 avec les mêmes autorisations et d’en faire rapport.
UPDATE: J'ai donc défini les autorisations des utilisateurs et des groupes sur le périphérique USB d'une nouvelle installation d'Ocelot 11.10 à la racine et à la racine. La commande gpg --card-status
échoue toujours en tant qu'utilisateur non root. J'imagine qu'il s'agit d'un bogue dans le paquet pcscd pour le moment.
J'ai eu un problème similaire avec un Yubikey Neo sur Ubuntu 16.04. Après le redémarrage, j'ai pu exécuter la commande suivante pour résoudre ce problème.
ykpersonalize -m 82
Yubikey a beaucoup de docs sur ce que cela fait. Je ne sais pas pourquoi j'ai dû remettre la carte dans ce mode ni ce qui pourrait changer de mode. Je ne peux même pas vous dire pourquoi cela a fonctionné. Si quelqu'un sait pourquoi cela aurait pu fonctionner, je serais heureux de mettre à jour la réponse avec plus de détails.