udev:如何扩展默认规则来修改符号链接的所有权?

udev:如何扩展默认规则来修改符号链接的所有权?

我需要将一些 USB 串行设备放入特定用户组中,以便从应用程序访问它们。对于 /dev/ttyUSB 设备来说,这很简单,我只需使用 即可KERNEL="ttyUSB*", GROUP:="mygroup"。但是,对于像 /dev/bus/usb/001/001 这样的符号链接,如何完成将其组设置为 的相同操作并不明显mygroup。我可以通过编辑默认规则文件/etc/udev/rules.d/50-udev.rulesGROUP="mygroup"在 usb_device 的行中添加一个子句来实现这一点,这会在 /dev/bus/usb 中创建符号链接,但是从打包的角度来看,编辑此文件显然不是最佳选择。

那么:如何编写 udev 规则来修改由先前默认 udev 规则创建的符号链接的所有权?

(我正在使用 CentOS 5.5。)

答案1

回答了我自己的问题:显然这都是关于使用:=而不是=

SUBSYSTEM=="usb_device", MODE:="0664", GROUP:="mygroup"

这位于 /etc/udev/rules.d 中的 10-usb-devices.rules 文件中。“:=”会覆盖其他规则创建的节点的权限 - 我最初错误地认为它正在创建符号链接,而实际上它正在 /dev/bus 中创建实际节点。

答案2

2 年前我就遇到过您的问题(centos 4),我找到的唯一解决方案也是修改 udev 规则。但我为它创建了一个特定文件。您是否尝试过使用特定设备创建 49-mydev.rules?

答案3

符号链接所有权并不重要,只有链接指向的文件的所有权才重要。

相关内容