编辑

编辑

我有两个设备,/dev/comedi0 和一个 USB 设备,我想让组扫描中的所有用户都可以访问它们。我尝试创建 udev 规则来执行此操作,但没有成功:

KERNEL=="comedi*", MODE="0660", GROUP="scan"

当我检查权限时(重启后):

$ls -la /dev/comedi0
crw-rw---- 1 root root 98, 0 Dec 17 16:44 /dev/comedi0

当我尝试使用该设备时,我得到了同样的错误(无法打开卡 /dev/comedi0),在我弄清楚这是权限问题之前我得到了同样的错误。如果我手动更改权限(chmod 666 /dev/comedi0),我就可以使用该卡。我知道这与我在 udev 中设置的权限不同,但我希望组扫描中的任何用户都可以访问它,而不仅仅是任何用户。

我相信 USB 设备的规则应该看起来像这样:

SUBSYSTEM=="usb", ATTR{idVendor}=="${vendor ID}", ATTR{idProduct}=="${product ID}", MODE="0660", GROUP="scan"

我将在其中替换供应商和产品 ID。

需要注意的是,组扫描不是本地组 - 身份验证由服务器处理,因此组扫描不存在于本地(即:不在 /etc/group 中)。

编辑

相关内容来自udevadm test $(udevadm info -q path -n /dev/ttyUSB0)

GROUP 24001 /etc/udev/rules.d/91-apt-stage.rules:1
MODE 0660 /etc/udev/rules.d/91-apt-stage.rules:1
handling device node '/dev/ttyUSB0', devnum=c188:0, mode=0660, uid=0, gid=24001
set permissions /dev/ttyUSB0, 020660, uid=0, gid=24001
setting mode of /dev/ttyUSB0 to 020660 failed: Operation not permitted
setting owner of /dev/ttyUSB0 to uid=0, gid=24001 failed: Operation not permitted

所以设置组失败了。我还尝试更改规则,以便使用 GID 和我的 UID 设置组和所有者,但还是出现了同样的错误。

相关内容