首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止所有USB大容量存储设备挂载?

如何防止所有USB大容量存储设备挂载?
EN

Stack Overflow用户
提问于 2012-09-07 16:19:46
回答 2查看 5.3K关注 0票数 3

我想阻止每种类型的USB海量存储设备使用udev规则挂载。

我已经可以使用以下规则检测连接到我的系统的所有USB大容量存储设备:

代码语言:javascript
复制
SUBSYSTEMS=="scsi", SUBSYSTEM=="block" KERNEL=="sd[b-h]1"

但是我怎样才能阻止它们的增加呢?

我知道我必须将其相关USB设备的授权文件设置为零!但是怎样才能找到USB设备路径呢?$DEVPATH为我提供了存储设备块的路径,例如sdb1!

我有一个应用程序,它应该允许一些USB大容量存储设备。所以用来拦截USB大容量存储设备的方法不应该是非常静态的!

EN

回答 2

Stack Overflow用户

发布于 2012-10-26 17:15:20

以下规则阻止自动挂载除第一个分区以外的所有分区:

代码语言:javascript
复制
# Rule: Only mount first partition found on /dev/sd* (USB) devices.
ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd*[2-9]", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

原因:在具有多个分区的USB磁盘中,我只想自动挂载第一个分区。如果需要的话,我会手动挂载其他的。

您应该能够将分区匹配器替换为KERNEL=="sd*",以获得:

代码语言:javascript
复制
# Rule: Do not automount any partitions found on /dev/sd* (USB) devices.
ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

这会阻止自动装载,然后您可以手动进行管理。

我只在Ubuntu 10.10上测试过

票数 3
EN

Stack Overflow用户

发布于 2012-09-07 16:57:18

最简单的方法是将usb-storage内核模块列入黑名单。然而,只有当它被编译为一个模块,而不是直接进入内核时,这才会起作用。您可以使用内核进行检查,也可以在/lib/modules/$(uname -r)/ modprobe -n usb-storage.ko /driver/usb/storage/中查找它

如果它被编译为一个模块,您可以通过在Debian的/etc/modprobe.d/blacklist(.conf)中添加一个条目将其列入黑名单,请参见this guide

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

https://stackoverflow.com/questions/12314329

复制
相关文章

相似问题

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