出于安全原因,我希望能够禁用所有 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)。
创建新的规则文件
sudo nano /etc/udev/rules.d/90-disable-usb.rules
添加这些规则行
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'"
重启
笔记:
udev
示例:如何检查在规则中使用哪些驱动程序和其他设备属性:udevadm info --name=/dev/bus/usb/001/001 --attribute-walk
或者
lsusb -t
取决于您的硬件/平台。有许多 USB 主机驱动程序。检查Linux 源代码
答案2
如果您想要禁用整个 USB 集线器,以便无法使用鼠标、键盘、USB 记忆棒等,只需执行以下操作:
lsmod | grep usb
和黑名单usb
第一列包含的所有模块。
抱歉?鼠标和其他东西还需要工作吗?哦!usb_storage
那就只能列入黑名单了!
;-)