¿No se puede leer la tarjeta OpenPGP como no root?

¿No se puede leer la tarjeta OpenPGP como no root?

La misma tarjeta OpenPGP y la configuración del lector funcionaban bien en Ubuntu 11.04 Natty. Después de actualizar a Ocelet con una instalación limpia, me encontré básicamente con el mismo problema que estechico publicado sobre aquí.

Para resumir las operaciones de lectura de tarjetas, como

gpg --card-status

Ahora solo trabaja con el comando sudo.

Respuesta1

Obtuve información más interesante sobre la solución de este problema. Instalé Ubuntu 10.04.3 LTS en otro sistema y configuré los ajustes de la tarjeta inteligente OpenPGP. Está funcionando correctamente para mi cuenta de usuario no root. Naturalmente, quería comprobar los permisos del dispositivo USB.

En mi cuenta normal, primero ejecuté un gpg --card-editpara conectar el dispositivo lector de tarjetas USB, luego corrí sudo lsof -c gpg | grep usbpara buscar el archivo del dispositivo. Esto produjo una nota, así que ejecuté sudo gpg --card-edity recibí un mensaje de error.

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

Algo más estaba atascando el lector de tarjetas USB. Averigüemos qué:

sudo lsof | grep usb

Esto produjo la pepita que estaba buscando.

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

Entonces, aparentemente, el servicio pcscd toma el dispositivo lector de tarjetas en nombre del usuario no root y transmite solicitudes de lectura/escritura de gpg a la tarjeta en una configuración OpenPGP configurada correctamente.

Echemos un vistazo a los permisos del archivo del dispositivo.

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

Bien, ahora creo que me estoy acercando. En el sistema 11.10, recuerdo que el grupo estaba configurado en pcscd y no en root. Parece que el problema podría estar en el paquete pcscd. Intentaré configurar un sistema 11.10 con los mismos permisos e informaré.

ACTUALIZACIÓN: Así que configuré los permisos de usuario y grupo en el dispositivo USB de una instalación nueva de Ocelot 11.10 como root y root. El comando gpg --card-statusaún falla como usuario no root. Supongo que por ahora se trata de un error en el paquete pcscd.

Respuesta2

Tuve un problema similar con Yubikey Neo en Ubuntu 16.04. Después de reiniciar, pude ejecutar el siguiente comando para solucionarlo.

ykpersonalize -m 82

Yubikey tiene muchos documentos sobre lo que hace esto. No sé por qué tuve que volver a poner la tarjeta en este modo o qué podría cambiar los modos. Ni siquiera puedo decirte por qué funcionó. Si alguien sabe por qué esto podría haber funcionado, me encantaría actualizar la respuesta con más detalles.

información relacionada