Cbh*_*ihe 6 mount ext3 udev 14.04
我想超越@AB 的这个优秀解决方案,它允许使用udev规则自动挂载给定的可移动 ext3 FS 。具体来说,我想指定几个挂载选项:“ nodev,noexec,x-gvfs-show”,最好在udev用于挂载它的特定规则内,因为它处理一种非常特定的物理介质。
在没有指定选项的情况下,卷挂载如下:
$ cat /proc/mounts | grep -e MYLABEL
/dev/mmcblk0p1 /mnt/MYLABEL ext3 rw,relatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
为了指定挂载选项,我尝试udev从以前的解决方案中扩展规则,因此:
KERNEL=="mmc*", ENV{ID_FS_UUID}=="______", RUN+="/usr/local/sbin/mount_by.sh '%E{ID_FS_LABEL}' '%E{ID_FS_UUID}' 'nodev,noexec,x-gvfs-show'"
Run Code Online (Sandbox Code Playgroud)
其中/usr/local/sbin/mount_by.sh包括:
#!/bin/sh
/bin/mount "/dev/disk/by-uuid/$2" "/mnt/$1" -o "$3"
Run Code Online (Sandbox Code Playgroud)
由于 root 定义的挂载选项似乎被拒绝,并且卷(一张 SD 卡)被静默地挂载在 /media/MYUSER/MYLABEL 上,上述内容悄然中断。
怎么了 ?
我试图做的事情:
我看到的许多关于使用udev(例如1、2、...)时的 mount-option(s) 规范困难的帖子仍未得到答复。
一种处理与规则x-gvfs-show结合使用的 GVFS 选项udev,当安装的卷必须出现在DevicesNautilus GUI 的下方并且非 root 用户必须能够卸载它时。为了至少涵盖最后一个方面,我恢复到不在我的 udev 规则中指定挂载选项,而是添加了一个/etc/fstab条目,这是一个非常丑陋的 hack,因为我udev同时为相同的 uuid 卷保留了一个功能规则。不过,我补充说:
UUID=_________ /mnt/MYLABEL ext3 nodev,noexec,x-gvfs-show 0 2
Run Code Online (Sandbox Code Playgroud)
FS 已安装,但尽管它在 Nautilus 中按预期出现,但cat /proc/mounts | grep -e MYLABEL产生与以前相同的结果......即选项nodev,noexec似乎被随意忽略。
毫不奇怪,我也在屏幕上收到错误消息:
无法安装 MYLABEL。设备 /dev/mmcblk0p1 已经安装在 `/mnt/MYLABEL'。
有人想过吗?
赏金请尝试提供一个规范的答案,可以为这个 OP 和所有有兴趣通过udev规则指定挂载选项的人提供服务。如果不可能,请解释原因并提供可行的解决方法。干杯。
剧本
#!/bin/sh
export mount_point="/mnt/$1"
existing_device=$(awk '$2 == ENVIRON["mount_point"] {print $1; exit}' < /proc/mounts)
if [ -n "$existing_device" ]; then
exit 1
fi
mkdir -p "$mount_point"
sleep 1 # Perhaps not necessary, but in the test with the OP it was necessary
mount "/dev/disk/by-uuid/$2" "$mount_point" -o "$3"
exit 0
Run Code Online (Sandbox Code Playgroud)
应该与这样的 udev 规则完美配合(你必须替换 UUID)
KERNEL=="mmc*", ENV{ID_FS_UUID}=="13ededb9-41e9-4674-b9dc-40ce178af91d", RUN+="/usr/local/bin/mount_by '%E{ID_PART_ENTRY_NAME}' '%E{ID_FS_UUID}' nodev,noexec"
Run Code Online (Sandbox Code Playgroud)
因为 udev-rules 运行为root,所以-o将使用 。
坏事,绝对在我的系统中,x-gvfs-show在选项列表中不起作用-o
| 归档时间: |
|
| 查看次数: |
973 次 |
| 最近记录: |