我正在尝试将特定的 USB 驱动器设置为始终以只读方式安装。如果我插入它,它被视为sdb具有单个分区,sdb1. 以下是一些相关的udevadm行(当然不是整个输出):
$ udevadm info -a -n /dev/sdb1
looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/host21/target21:0:0/21:0:0:0/block/sdb/sdb1':
KERNEL=="sdb1"
SUBSYSTEM=="block"
DRIVER==""
ATTR{ro}=="0"
ATTR{size}=="976768002"
ATTR{stat}==" 473 30586 33938 3460 5 0 40 1624 0 2268 5084"
ATTR{partition}=="1"
Run Code Online (Sandbox Code Playgroud)
好的,所以我写了以下udev规则并将其保存为/etc/udev/rules.d/10-usbdisk.rules:
SUBSYSTEM=="block",
ATTR{size}=="976768002",
MODE="0555"
Run Code Online (Sandbox Code Playgroud)
根据此,使用size应该是足够的,但我也尝试过其他的排列。在任何情况下,规则似乎都被读取了(再次,选定的输出行,您可以在这里看到整个输出:
$ udevadm test $(udevadm info -q path -n /dev/sdb1) 2>&1
[...]
read rules file: /etc/udev/rules.d/10-usbdisk.rules
[...]
MODE 0555 /etc/udev/rules.d/10-usbdisk.rules:4
Run Code Online (Sandbox Code Playgroud)
因此,它看起来像应适用的规则,它看起来就像MODE="0555"是正确的语法。但是,当我真正插入磁盘时,我可以愉快地在其上创建/删除文件。
操作系统:Debian …