Não é possível ler o cartão OpenPGP como não-root?

Não é possível ler o cartão OpenPGP como não-root?

A mesma configuração de cartão e leitor OpenPGP funcionou bem no Ubuntu 11.04 Natty. Depois de atualizar para o Ocelet com uma instalação limpa, encontrei basicamente o mesmo problema que estecara postou aqui.

Para resumir as operações de leitura de cartão, como

gpg --card-status

Agora trabalhe apenas com o comando sudo.

Responder1

Tenho mais informações interessantes sobre solução de problemas sobre esse problema. Instalei o Ubuntu 10.04.3 LTS em outro sistema e configurei as configurações do smartcard OpenPGP. Está funcionando corretamente para minha conta de usuário não root. Naturalmente, eu queria verificar as permissões do dispositivo USB.

Na minha conta normal, primeiro executei um gpg --card-editpara amarrar o dispositivo leitor de cartão USB e depois corri sudo lsof -c gpg | grep usbpara encontrar o arquivo do dispositivo. Isso rendeu uma nota, então corri sudo gpg --card-edite recebi uma mensagem de erro!

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

Outra coisa estava amarrando o leitor de cartão USB. Vamos descobrir o que:

sudo lsof | grep usb

Isso rendeu a pepita que eu estava procurando.

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

Então, aparentemente, o serviço pcscd captura o dispositivo leitor de cartão em nome do usuário não-root e retransmite solicitações de leitura/gravação gpg para o cartão em uma configuração OpenPGP configurada corretamente.

Vamos dar uma olhada nas permissões do arquivo do 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

OK, agora acho que estou chegando mais perto. No sistema 11.10, lembro que o grupo estava configurado como pcscd e não como root. Parece que o problema pode estar no pacote pcscd. Tentarei configurar um sistema 11.10 com as mesmas permissões e reportarei.

ATUALIZAÇÃO: Então, defino as permissões de usuário e grupo no dispositivo USB de uma nova instalação do 11.10 Ocelot para root e root. O comando gpg --card-statusainda falha como usuário não root. Suponho que isso seja um bug no pacote pcscd por enquanto.

Responder2

Tive um problema semelhante com um Yubikey Neo no Ubuntu 16.04. Depois de reiniciar, consegui executar o seguinte comando para consertar.

ykpersonalize -m 82

Yubikey tem muitos documentos sobre o que isso faz. Não sei por que tive que colocar o cartão novamente neste modo ou o que pode mudar de modo. Eu nem posso te dizer por que funcionou. Se alguém souber por que isso pode ter funcionado, ficarei feliz em atualizar a resposta com mais detalhes.

informação relacionada