禁用任何 USB 键盘和鼠标

禁用任何 USB 键盘和鼠标

我想禁用用户放入 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/*

(实际上,您应该将这些驱动程序移到某个地方,以防您希望它们回来,但我希望您明白这一点)

相关内容