我正在尝试设置udev
规则以在 CentOS 7 计算机中为 USB 设备(ZWAVE 棒)创建符号链接。它正确设置了符号链接,但组和权限错误。
为了调试,我尝试了各种值:
# cat 99-usb-serial.rules
# Copied from https://github.com/openhab/openhab/wiki/symlinks
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{product}=="RFXrec433", SYMLINK+="USBrfxcom", GROUP="dialout", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="USBzwave", GROUP="dialout", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="USBzwave1", GROUP="zvika", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="USBzwave2", GROUP="zvika"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="USBzwave3"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="USBzwave4", MODE="0700"
但一切看起来都是一样的:
# ll /dev/USBzwave*
lrwxrwxrwx 1 root root 7 Nov 7 17:47 /dev/USBzwave -> ttyACM0
lrwxrwxrwx 1 root root 7 Nov 7 17:47 /dev/USBzwave1 -> ttyACM0
lrwxrwxrwx 1 root root 7 Nov 7 17:47 /dev/USBzwave2 -> ttyACM0
lrwxrwxrwx 1 root root 7 Nov 7 17:47 /dev/USBzwave3 -> ttyACM0
lrwxrwxrwx 1 root root 7 Nov 7 17:47 /dev/USBzwave4 -> ttyACM0
这是怎么回事?如何调试呢?
我尝试过跑步udevadm control --log-priority=debug
。但仍然没有任何有用的信息dmesg
,/var/log/messages
或者udevadm monitor
编辑
现在我明白GROUP
和MODE
操作改变了 ttyACM0 定义,而不是软链接......
因此,只有最后一条规则是相关的 - 它会覆盖前面的规则。运行ll /dev/ttyACM0
会给出正确的所有权和权限 - for ttyACM0
.
但为什么/dev/USBzwave
有不同的所有权和许可呢?