Udev

允許已知 USB 設備的 Udev 規則不會檢測到我的集線器

  • June 20, 2020

我添加了一個只允許已知 USB 設備的 udev 規則,但它不會授權我的集線器,因此每個 USB 埠都是未經授權的。Yhis 是我對集線器的 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 強化

核心:4.7.9-硬化

您可以通過設置 udev 規則來執行腳本來調試 udev 規則。該腳本可以記錄各種項目。

例如: $ DEVNAME, $ 行動

從 USB 集線器中記錄所有數據後,您將能夠查看失去的設備或失去的資訊。

udev 規則,需要 RUN+="/usr/local/bin/log.sh"

在 log.sh、env >> /tmp/blabla.log 或 echo " $ DEVNAME $ 行動…" >> /tmp/blabla.log

引用自:https://unix.stackexchange.com/questions/318251