루트가 아닌 사용자로 OpenPGP 카드를 읽을 수 없습니까?

루트가 아닌 사용자로 OpenPGP 카드를 읽을 수 없습니까?

동일한 OpenPGP 카드 및 리더 설정이 Ubuntu 11.04 Natty에서 제대로 작동했습니다. 새로 설치하여 Ocelet으로 업그레이드한 후 기본적으로 동일한 문제가 발생했습니다.그 사람이 여기에 글을 올렸어요.

다음과 같은 카드 읽기 작업을 요약하려면

gpg --card-status

이제 sudo 명령으로만 작업하세요.

답변1

이 문제에 대한 좀 더 유용한 문제 해결 정보를 얻었습니다. 다른 시스템에 Ubuntu 10.04.3 LTS를 설치하고 OpenPGP 스마트 카드 설정을 구성했습니다. 루트가 아닌 사용자 계정에서는 제대로 작동합니다. 당연히 USB 장치에 대한 권한을 확인하고 싶었습니다.

내 일반 계정에서는 먼저 gpg --card-editUSB 카드 리더 장치를 연결하기 위해 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에는 이것이 수행하는 작업에 대한 많은 문서가 있습니다. 왜 카드를 이 모드로 다시 설정해야 했는지, 무엇이 모드를 변경하는지 모르겠습니다. 왜 그것이 효과가 있었는지조차 말할 수 없습니다. 이것이 왜 효과가 있었는지 아는 사람이 있다면 더 자세한 내용으로 답변을 업데이트하게 되어 기쁩니다.

관련 정보