我想禁用用户放入 USB 端口的任何键盘和鼠标(无论其 ID、供应商、名称...)。我找到了这篇文章http://wpkg.org/Disable_/_enable_keyboard_and_mouse_in_Linux但这不是我想要的。有没有人知道如何禁用 USB 设备(键盘、鼠标、无线键盘/鼠标)并让 USB 端口仅用于 USB 大容量存储?
答案1
usbhid.conf
创建一个名为in的文件/etc/modprobe.d/
并添加以下行:
blacklist usbhid
然后使用以下命令重新生成 initramfs:
update-initramfs -u -k $(uname -r)
或者,如果您想为所有已安装的内核版本重建 initramfs:
update-initramfs -u -k all
重新启动后,usbhid.ko
将无法加载。对于您安装的任何新内核版本,这种情况都会持续存在,直到您删除该/etc/modprobe.d/usbhid.conf
文件或注释掉blacklist
它包含的行(当然,您必须再次重新生成 initramfs)。
顺便说一句,如果您出于任何原因需要连接 USB kbd/鼠标才能在控制台上工作,您可以ssh
输入并运行(以 root 身份):
insmod /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbhid.ko
并将键盘/鼠标插入 USB 插座。与 不同modprobe
,该insmod
命令忽略 中的任何条目(包括blacklist
和模块选项)/etc/modprobe.d/
。
rmmod usbhid
当您不再需要使用 kbd/鼠标时,请不要忘记。
答案2
您可以简单地删除相应的驱动程序:
sudo rm /lib/modules/<your_kernel>/kernel/drivers/hid/usbhid/*
(实际上,您应该将这些驱动程序移到某个地方,以防您希望它们回来,但我希望您明白这一点)