我想阻止使用udev规则挂载各种usb海量存储。 我已经可以使用以下规则检测连接到我系统的所有usb海量存储:
SUBSYSTEMS=="scsi", SUBSYSTEM=="block" KERNEL=="sd[b-h]1"
但我不知道如何防止它们出现!
我知道我必须将其相关USB设备的授权文件设置为零!但我怎样才能找到USB设备路径? $ DEVPATH给了我存储设备块的路径,例如sdb1!
编辑:我有一个应用程序应该允许一些usb大容量存储。所以阻止usb海量存储的使用方法不应该是非常静态的!提前感谢。
答案 0 :(得分:2)
以下规则会阻止除第一个分区以外的所有分区自动挂载:
# 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 *”替换分区匹配器,以获得:
# 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上测试了这个
答案 1 :(得分:1)
最简单的方法是将usb-storage
内核模块列入黑名单。这只有在编译为模块时才有效,而不是直接编译到内核中。您可以查看modprobe -n usb-storage.ko
,或在/ lib / modules / $(uname -r)/ kernel / drivers / usb / storage /
如果它被编译为模块,你可以通过在/etc/modprobe.d/blacklist(.conf)中添加一个条目来黑名单。对于Debian,请参阅this guide