如何使特定设备插入时具有读/写权限?

如何使特定设备插入时具有读/写权限?

我有自制的设备,可以通过 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(设备节点已添加和配置)

相关内容