我有几个 USB 设备在几个小时前突然停止工作,这些设备多年来一直运行良好,而且自从我上次接触它们所在的机器以来至少有一个星期了。经过一些调试后,我发现 /dev/ttyUSB* 组是 root,而不是 tty 或拨号,udev 中的某些东西在 chgrp 之后将其强制恢复为 root:
> ll /dev/ttyU*
crw-rw-r-- 1 root root 188, 0 Jan 23 00:51 ttyUSB0
crw-rw-r-- 1 root root 188, 1 Jan 23 00:51 ttyUSB1
> sudo chgrp tty /dev/ttyUSB*
> ll /dev/ttyU*
crw-rw-r-- 1 root tty 188, 0 Jan 23 00:51 /dev/ttyUSB0
crw-rw-r-- 1 root tty 188, 1 Jan 23 00:53 /dev/ttyUSB1
> sudo udevadm trigger
> ll /dev/ttyU*
crw-rw-r-- 1 root root 188, 0 Jan 23 00:54 /dev/ttyUSB0
crw-rw-r-- 1 root root 188, 1 Jan 23 00:54 /dev/ttyUSB1
在 /etc/udev/rules.d 中我没有看到任何可能导致此问题的原因,并且添加带有的显式规则KERNEL=="ttyUSB[0-9]*", GROUP="tty"
没有任何效果,udevadm trigger
或者重新启动会将组重新更改为 root,从而导致 USB 设备无法访问。 的强力替代方案chmod 777
有同样的问题,udevadm 会将其重新设置为 644。
有谁知道是什么原因造成的,或者如何找出原因并禁用它?有些东西真的不想让任何东西访问 USB 设备,但不清楚它是什么。我目前已经用暴力破解了它,GROUP:="tty"
但这并不能解决根本问题。