Udev规则允许已知的USB设备不会检测到我的集线器


3

因此,我添加了一个udev规则,该规则仅允许已知的USB设备,但它不会授权我的集线器,因此每个USB端口都是未授权的,这是我的集线器的udev规则:

# Skeep not USB
SUBSYSTEM!="usb", GOTO="usb_end"
# Skeep remove actions
ACTION=="remove", GOTO="usb_end"

    # 2.0 root hub
    SUBSYSTEMS=="usb", ACTION=="add", ATTR{product}=="EHCI Host Controller", ATTR{serial}=="0000:00:1a.0", \
      ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0002", ATTR{bDeviceClass}=="09", ATTR{authorized}="1", GOTO="usb_end"
    # Disable all other USB devices
    SUBSYSTEMS=="usb", ACTION=="add", ATTR{authorized}="0"

    LABEL="usb_end"

操作系统:Gentoo Hardened

内核:4.7.9强化

谢谢

Answers:


1

您可以通过将udev规则设置为执行脚本来调试udev规则。该脚本可以记录各种项目。

例如:$ DEVNAME,$ ACTION

将所有数据从USB集线器中注销后,您将能够看到缺少的设备或缺少的信息。

udev规则,将需要RUN + =“ / usr / local / bin / log.sh”

在log.sh中,env >> /tmp/blabla.log,或回显“ $ DEVNAME $ ACTION ...” >> /tmp/blabla.log


1
谢谢,我尝试过,但是集线器不执行脚本,但是将RUN + =“”添加到USB记忆棒的规则中,并注释掉ATHORIZE = 0,然后USB触发了脚本,但是集线器没有执行
Matthias Hoste

1
去除所有过滤器,而测试只是离开子系统并运行。还要检查dmesg的设备外观/ id。
mikejonesey

您解决了吗?我只是看到xenial遇到了同样的问题
gratz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.