我需要阻止所有 USB 存储设备(U盘和移动设备),但我需要访问 USB 键盘和 USB 鼠标。
我已经尝试通过/etc/modprobe.d/blacklist.conf
添加进行编辑blacklist usb_storage
,但系统仍然可以访问 USB 设备。
答案1
我发现在 Ubuntu 16.04 中,一些 U 盘会触发uas.ko内核驱动程序(USB 连接 SCSI 驱动程序)。内核驱动程序依赖项uas.ko是usb_storage.ko。
因此,尽管我blacklist usb_storage
有/etc/modprobe.d/blacklist.conf
,usb_storage.ko仍然依赖uas.ko
放置后:
blacklist uas
blacklist usb_storage
,无法/etc/modprobe.d/blacklist.conf
再访问这些 U 盘(uas.ko&usb_storage.ko不再加载)在正在运行的系统中。
请记住,要在内核启动期间强制执行此操作,还需要进行一些grub/内核行修改链接中有一些类似的内容。
答案2
另外,要禁用 USB 存储,请创建以下文件并使用您最喜欢的文本编辑器对其进行编辑。
/etc/modprobe.d/usb-storage.conf
在此文件中,添加以下行。
install usb-storage /bin/true
将该行保存到文件后,/etc/modprobe.d/usb-storage.conf
您需要重新启动才能完成该过程。重新启动后,如果您插入 USB 存储设备,则应该无法访问它。
答案3
usb-storage.ko 是 Linux 操作系统的 USB 大容量存储驱动程序。您可以输入以下命令查看该文件:
ls -l /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko
您所要做的就是禁用或删除 usb-storage.ko 驱动程序以限制在 Linux 上使用 USB 设备,例如:
- USB 键盘
- USB 鼠标
- USB 笔式驱动器
- USB硬盘
- 其他 USB 块存储
BIOS 选项
您还可以从系统 BIOS 配置选项禁用 USB。确保 BIOS 受密码保护。这是推荐的选项,这样就没有人可以从 USB 启动它。
Grub 选项
您可以通过 GRUB 禁用内核对 USB 的支持来删除所有 USB 设备。打开 grub.conf 或 menu.lst 并将“nousb”附加到内核行,如下所示(取自 RHEL 5.x):
kernel /vmlinuz-2.6.18-128.1.1.el5 ro root=LABEL=/ console=tty0 console=ttyS1,19200n8 nousb
确保删除 grub 或 grub2 配置文件中对 usb-storage 的任何其他引用。保存并关闭文件。完成后,只需重新启动系统:
reboot
希望这可以帮助。
答案4
添加/etc/modprobe.d/blacklist.conf
blacklist uas
blacklist usb-storage
禁用 uas mod,我不知道为什么需要将 uas 协议模块列入黑名单,但它对我有用