我有一个 USB 秤,一个 USB HID。目前,当它被插入时,权限只允许超级用户访问它。如何配置 udev 以让任何人访问此设备?我有供应商和产品 ID,但我想根据 HID 类型来匹配它。
现在,我很难找到任何适用于此的现有规则(除其他外,我在/lib/udev/rules.d
and中寻找“hidraw” )。/etc/udev/rules.d
我有一个 USB 秤,一个 USB HID。目前,当它被插入时,权限只允许超级用户访问它。如何配置 udev 以让任何人访问此设备?我有供应商和产品 ID,但我想根据 HID 类型来匹配它。
现在,我很难找到任何适用于此的现有规则(除其他外,我在/lib/udev/rules.d
and中寻找“hidraw” )。/etc/udev/rules.d
通常,这是通过添加
/etc/udev/rules.d
一个文件来完成的,该文件可能以50-usb-scale.conf
如下内容命名:其中HEX1和HEX2分别替换为供应商和产品 ID。
要改为匹配接口类型,您可以尝试替换为
ATTR{idVendor}=="HEX1", ATTR{idProduct}=="HEX2"
匹配(HID):bInterfaceClass
03
但请注意,这也会抓住鼠标和键盘。
只是为了总结:
您可以过滤:
并使用:
== 比较是否相等。
!= 比较不平等。
= 为键赋值。表示列表的键被重置,并且只分配这个单一的值。
+= 将值添加到包含条目列表的键中。
:= 最后为键赋值;不允许以后的任何更改。
您可以在 /dev/... 中为特定设备指定特定的新路径。
示例:
结果是:
您可以通过 '/dev/hiddevx' 或通过 '/dev/myhid' 轻松访问设备,组 'cdrom' 中的每个用户都可以从设备中读取。所有者“user28”可以读写。
或最简单的:
结果:每个用户都可以从供应商 0x16c0 访问每个 hiddevice
详情见:文档
如果您需要更改(像我一样)
ttyACM0
权限,这是我的设置:当我尝试指定供应商和产品 ID 时失败。我不确定为什么。
如果它是 HIDRAW 设备,则必须
其中 X 是隐藏设备编号,例如 hidraw0。你可以做
查看列表:) 或者只是做
为所有 hidraw 设备设置,可能不推荐。
Ubuntu 18.04 更新/说明:
Kees Cook 的回答很接近,但需要 2 处更改才能在 18.04 中工作(当前版本,只有一个我测试过)。
但是使用您的 idVendor 和 idProduct 十六进制值。