web-dev-qa-db-fra.com

Impossible de lire la carte OpenPGP en tant qu'utilisateur non root?

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.

4
Seth

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.

4
Seth

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.

0
Anthony Naddeo