동일한 OpenPGP 카드 및 리더 설정이 Ubuntu 11.04 Natty에서 제대로 작동했습니다. 새로 설치하여 Ocelet으로 업그레이드한 후 기본적으로 동일한 문제가 발생했습니다.그 사람이 여기에 글을 올렸어요.
다음과 같은 카드 읽기 작업을 요약하려면
gpg --card-status
이제 sudo 명령으로만 작업하세요.
답변1
이 문제에 대한 좀 더 유용한 문제 해결 정보를 얻었습니다. 다른 시스템에 Ubuntu 10.04.3 LTS를 설치하고 OpenPGP 스마트 카드 설정을 구성했습니다. 루트가 아닌 사용자 계정에서는 제대로 작동합니다. 당연히 USB 장치에 대한 권한을 확인하고 싶었습니다.
내 일반 계정에서는 먼저 gpg --card-edit
USB 카드 리더 장치를 연결하기 위해 a를 실행한 다음 sudo lsof -c gpg | grep usb
장치 파일을 찾기 위해 실행했습니다. 이로 인해 알림이 발생하여 실행했는데 sudo gpg --card-edit
오류 메시지가 표시되었습니다!
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
뭔가 다른 것이 USB 카드 리더를 묶고 있었습니다. 무엇을 알아봅시다:
sudo lsof | grep usb
이로써 제가 찾던 너겟이 나왔습니다.
pcscd 2362 root 5u CHR 189,4 0t0 2194 /dev/bus/usb/001/005
따라서 분명히 pccd 서비스는 루트가 아닌 사용자를 대신하여 카드 리더 장치를 잡고 적절하게 구성된 OpenPGP 설정에서 카드에 gpg 읽기/쓰기 요청을 전달합니다.
장치 파일의 권한을 살펴보겠습니다.
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
좋아, 이제 좀 더 가까워진 것 같아. 11.10 시스템에서는 그룹이 루트가 아닌 PCSCD로 설정되어 있었던 것으로 기억합니다. 문제는 PCSCD 패키지에 있는 것 같습니다. 동일한 권한으로 11.10 시스템을 구성해 보고 다시 보고하겠습니다.
업데이트: 그래서 새로운 11.10 Ocelot 설치의 USB 장치에 대한 사용자 및 그룹 권한을 루트 및 루트로 설정했습니다. gpg --card-status
루트가 아닌 사용자로서 명령이 여전히 실패합니다. 나는 이것이 현재로서는 pcscd 패키지의 버그라고 추측합니다.
답변2
Ubuntu 16.04의 Yubikey Neo와 비슷한 문제가 있었습니다. 다시 시작한 후 다음 명령을 실행하여 문제를 해결할 수 있었습니다.
ykpersonalize -m 82
Yubikey에는 이것이 수행하는 작업에 대한 많은 문서가 있습니다. 왜 카드를 이 모드로 다시 설정해야 했는지, 무엇이 모드를 변경하는지 모르겠습니다. 왜 그것이 효과가 있었는지조차 말할 수 없습니다. 이것이 왜 효과가 있었는지 아는 사람이 있다면 더 자세한 내용으로 답변을 업데이트하게 되어 기쁩니다.