首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止uas和usb_storage内核模块在连接USB驱动器时被自动加载?

如何防止uas和usb_storage内核模块在连接USB驱动器时被自动加载?
EN

Unix & Linux用户
提问于 2018-06-28 17:13:17
回答 1查看 1.9K关注 0票数 2

我使用buildroot生成一个内核映像,并将其放在SD卡上启动。在buildroot中,我模块化了USB大容量存储。当我启动我的板没有一个USB连接到它,我可以看到没有模块运行使用lsmos。但是当我插入USB时,模块uasusb_storage就会自动加载并允许访问USB。我想防止这一点,只有当我手动加载在这两个模块中时,才允许访问USB。

我在网上读过一些关于将模块列入黑名单或编辑与模块相关的文件的文章;但是,这不起作用,因为当我关闭电源时,我所做的任何更改都会被删除。因此,我需要另一个选项是永久的,也许在生成图像之前在buildroot设置中完成?

EN

回答 1

Unix & Linux用户

发布于 2021-08-22 12:58:11

我也有过同样的问题。问题是,在默认情况下,busybox的problem实现(在buildroot中使用)不支持blacklist

解决方案是在编译映像时在busybox配置中启用此功能。为此,创建一个配置片段文件(例如,名为busybox.config ),其内容如下:

代码语言:javascript
复制
CONFIG_FEATURE_MODPROBE_BLACKLIST=y

然后,将该文件的路径添加到buildroot选项。在buildroot配置文件中,它应该类似于以下内容:

代码语言:javascript
复制
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="../busybox.config"

现在,当您运行make时,您将看到buildroot进程正在重新构建busybox的配置文件。请注意调制解调器的输出,它应该如下所示:

代码语言:javascript
复制
modprobe (28 kb) (MODPROBE) [Y/n/?] y
  Blacklist support (FEATURE_MODPROBE_BLACKLIST) [Y/n/?] y

完成此操作后,您只需将blacklist <themodule>写到/etc/modprobe.conf中,它就会像预期的那样工作。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/452485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档