检查USB 模块是否已正确加载
# lsmod | grep -i usb usb_storage 66762 0
模块看起来加载得很好,下面的命令将查看当前安装在服务器上的 USB 设备
# lsscsi [0:0:0:0] storage HP P244br 4.52 [0:1:0:0] disk HP LOGICAL VOLUME 4.52 /dev/sda [1:0:0:0] cd/dvd HP Virtual DVD-ROM /dev/sr0
将USB模块列入黑名单
必须使用以下文件将任何模块列入黑名单
/etc/modprobe.d/local-blacklist.conf
其中使用的语法是
blacklist <module name>
例如将 USB 模块列入黑名单:
# vim /etc/modprobe.d/local-blacklist.conf blacklist usb-storage
保存并退出文件。
现在,仅当模块不是任何依赖项的一部分时,上述使用的语法才会将模块列入黑名单。
例如。
firewire 模块是像 be2net 这样的网络驱动程序的依赖项,所以如果我将 firewire 模块列入黑名单,但由于 be2net 驱动程序需要它,be2net 将在系统启动期间激活列入黑名单的模块。
为了避免这种情况,需要添加下面的行。
例如在这里,我使用了firewire模块,可以替换为 usb-storage.ko
# vim /etc/modprobe.d/local-blacklist.conf blacklist firewire install firewire /bin/false
保存文件并退出。
接下来,我们必须重建 initramfs,确保修改在重新启动后依旧生效。
重要提示:备份我们现有的 initramfs ,以防万一新的 initramfs 失败或者有问题
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.before_update.bak
接下来运行下面的命令来重建 initramfs
# dracut -v -f
我们需要重启服务器才能生效,或者在当前活动会话临时禁用。
从当前会话禁用 USB 模块
# rmmod usb-storage.ko
这将从内核中删除 usb 模块
或者
也可以使用下面命令来 删除 USB 模块
# modprobe -r usb-storage.ko
现在重新生成内核依赖项列表和加载的模块。
# depmod -a
这将检测所有模块。
现在我们可以验证系统上是否仍加载了 USB 模块
# lsmod | grep -i usb_storage
没有输出,说明模块被成功删除并列入黑名单
日期:2020-06-02 22:16:54 来源:oir作者:oir