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-edit
para amarrar o dispositivo leitor de cartão USB e depois corri sudo lsof -c gpg | grep usb
para encontrar o arquivo do dispositivo. Isso rendeu uma nota, então corri sudo gpg --card-edit
e 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-status
ainda 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.