2017-05-03 52 views
1

智能卡设备的所有权在Xen虚拟机(内QubesOS),我可以看到我的手,通过USB智能卡读卡器这样的:未能使用udev规则改变的Xen/QubesOs VM

Prompt> lsusb 
Bus 002 Device 002: ID 04e6:5116 SCM Microsystems, Inc. SCR331-LC1/SCR3310 SmartCard Reader 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
... 

展望与udevadm产量更深:

Prompt> udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/002) 
looking at device '/devices/platform/vhci_hcd/usb2/2-1': 
    KERNEL=="2-1" 
    SUBSYSTEM=="usb" 
    DRIVER=="usb" 
    ATTR{authorized}=="1" 
    ATTR{avoid_reset_quirk}=="0" 
    ATTR{bConfigurationValue}=="1" 
    ATTR{bDeviceClass}=="00" 
    ATTR{bDeviceProtocol}=="00" 
    ATTR{bDeviceSubClass}=="00" 
    ATTR{bMaxPacketSize0}=="32" 
    ATTR{bMaxPower}=="100mA" 
    ATTR{bNumConfigurations}=="1" 
    ATTR{bNumInterfaces}==" 1" 
    ATTR{bcdDevice}=="0204" 
    ATTR{bmAttributes}=="a0" 
    ATTR{busnum}=="2" 
    ATTR{configuration}=="CCID Class" 
    ATTR{devnum}=="2" 
    ATTR{devpath}=="1" 
    ATTR{idProduct}=="5116" 
    ATTR{idVendor}=="04e6" 
    ATTR{ltm_capable}=="no" 
    ATTR{manufacturer}=="SCM Microsystems Inc." 
    ATTR{maxchild}=="0" 
    ATTR{product}=="SCR3310 v2.0 USB SC Reader" 
    ATTR{quirks}=="0x0" 
    ATTR{removable}=="unknown" 
    ATTR{speed}=="12" 
    ATTR{urbnum}=="14" 
    ATTR{version}==" 2.00" 

looking at parent device '/devices/platform/vhci_hcd/usb2': 
    KERNELS=="usb2" 
    SUBSYSTEMS=="usb" 
    DRIVERS=="usb" 
... 

尽管权限被设置为事实如下:

Prompt> ls -la /dev/bus/usb/002/002 
crw-rw-r-- 1 root root 189, 129 May 3 23:01 /dev/bus/usb/002/002 

致电gpg2 --card-status的结果为root,但正常用户产生Card error。 我尝试用以下udev规则(/etc/udev/rules.d/51-SCR3310.rules)来解决这个问题:

KERNEL=="usb*", SUBSYSTEM=="usb", ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="5116", MODE="0660", GROUP="user" 

但无论我做什么,我不能让普通用户通过gpg2访问读卡器。

我在哪里搞砸了?

回答

1

经过大量的谷歌搜索(startpaging,那是),我终于找到了我的答案here

在需要一个/etc/udev/rules.d/71-gpg-ccid.rules文件包含以下内容做出的udev让我的用户组(user)接入设备(从here拍摄)

ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="04e6", ENV{ID_MODEL_ID}=="5116", MODE="660", GROUP="user" 

我竟被的gnome-keyring干扰gpg-agent的顶部并加入

Hidden=true 
X-GNOME-Autostart-enabled=false 

到的/etc/xdg/autostart/gnome-keyring-ssh.desktopgnome-keyring-gpg.desktop集市智能卡访问的端部作为普通用户的工作。