禁用 USB 集线器

禁用 USB 集线器

出于安全原因,我希望能够禁用所有 USB 端口,而为了做到这一点而不必单独禁用每个 USB 端口,我必须禁用整个 USB 集线器,所以这确实是我的问题,我该如何禁用我的 USB 集线器?

我正在运行 Ubuntu 14.10,该命令lsusb返回以下输出:

Bus 002 Device 003: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 5986:0295 Acer, Inc 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如果您需要我提供更多信息来帮助您回答我的问题,请告诉我。

答案1

这应该可以通过 BIOS 实现。另一个选项是编写一条udev规则来解除任何 USB 根集线器驱动程序的绑定:ohci-pci(USB 1.1)、ehci-pci(USB 2.0) 和xhci_hcd(USB 3.0)。

  1. 创建新的规则文件

    sudo nano /etc/udev/rules.d/90-disable-usb.rules
    
  2. 添加这些规则行

    DRIVERS=="?hci-pci", RUN+="/bin/sh -c 'echo -n %k >/sys%p/driver/unbind'"
    DRIVERS=="xhci_hcd", RUN+="/bin/sh -c 'echo -n %k >/sys%p/driver/unbind'"
    
  3. 重启

笔记:

  • udev示例:如何检查在规则中使用哪些驱动程序和其他设备属性:

    udevadm info --name=/dev/bus/usb/001/001 --attribute-walk
    

    或者

    lsusb -t
    
  • 取决于您的硬件/平台。有许多 USB 主机驱动程序。检查Linux 源代码

答案2

如果您想要禁用整个 USB 集线器,以便无法使用鼠标、键盘、USB 记忆棒等,只需执行以下操作:

lsmod | grep usb

黑名单usb第一列包含的所有模块。

抱歉?鼠标和其他东西还需要工作吗?哦!usb_storage那就只能列入黑名单了!

;-)

相关内容