我有自制的设备,可以通过 USB 端口连接。连接后,它会获取 ttyACM 套接字。所以我问过这个问题前段时间我讨论了如何设置设备的读/写权限。按照答案,我创建了/etc/udev/rules.d/50-ttyusb.rules
包含以下内容的文件:
KERNEL=="ttyUSB[0-9]*",MODE="0666"
KERNEL=="ttyACM[0-9]*",MODE="0666"
一切正常!但如果我理解正确的话,现在连接到任何 ttyUSB 或 ttyACM 套接字的每个设备都将具有读/写权限。对吗?
我的问题是如何在连接时自动为该设备设置读/写权限?
相关lsusb
输出:
Bus 003 Device 005: ID ffff:0005
答案1
- 是的,它授予公共用户使用所有这些串行设备的权限。
您可以使用
ATTRS{idVendor}
&ATTRS{idProduct}
来过滤目标设备:ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"
我添加了
ACTION=="add"
跳过其他不需要的事件remove
(设备节点已被删除)和change
(设备节点已添加和配置)