如何让设备插入时具有读/写权限?

如何让设备插入时具有读/写权限?

我有一个自制的设备,我编写了一个程序来从中获取数据。但每次插入设备时,我都必须更改的权限/dev/ttyACM0,以便端口可用于数据传输。我怎样才能使此设备默认具有读/写权限。lsusb此设备的输出为:

Bus 003 Device 005: ID ffff:0005

答案1

如果您是该组的成员,dialout您可以访问串行设备,包括ttySxttyUSBxttyACMx设备,而无需更改权限。

$ sudo adduser myusername dialout

或者,您可以创建 udev 规则来设置设备连接时的权限。请参阅https://askubuntu.com/a/112573/471836

答案2

我将为我自己的问题添加答案,以供将来需要的人使用。我遵循了@Adam Lussier 的回答,并创建了/etc/udev/rules.d/50-ttyusb.rules包含以下内容的文件(由@Sneetsher 提出):

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

像这样只有这个特定的设备被赋予读/写权限。参考对于想要了解更多有关编写规则文件的人来说。

相关内容