Linux下udev磁盘挂载权限

Linux下udev磁盘挂载权限

我们希望在运行嵌入式 Angstrom 和 ssh 的 overo 上设置一个客户帐户,以便他们可以登录以检索数据。

uname -a
Linux pb014-01 2.6.32 #1 Wed Feb 29 15:17:02 GMT 2012 armv7l GNU/Linux

(其中 pb014-01 可能应该是 Overo)这是我们编译所有驱动程序的唯一版本。

客户数据位于 fat32 格式的外部 USB 或 SD 海量存储设备(micro sd(mmcblk0p1) + usb sd(sd[az][0-1]))上。

设备/卷由 udev 自动挂载,因此设备设置时设备/文件夹名称未知。

目前 /media 文件夹的权限为

drwxr-xr-x  5 root     root     0 Aug  6 16:44 sdb1

我想我至少需要 drwxr-xrwx

我添加了一个自定义规则,向我们的软件发送 udp 命令以通知磁盘添加+删除,因此如果磁盘被删除,我们会立即停止写入 /media 中的文件夹。

作为一个黑客,我想,在 udev 上添加,我可以使它 chmod -R 我们需要的权限,但希望有一种更简洁的方法让 udev 首先以正确的权限安装它。

我尝试将 fmask umash dmask uid optons 添加到 /etc/udev/scripts/mount.sh 中的 automount() 中,但无济于事(如果这应该是解决方案,也许我格式化它们是错误的)

许多已回答的问题都与限制权限有关,而不是我试图实现的“添加”权限。

在尝试用谷歌搜索答案时,我看到很多人提到 gvfs 和 nautilus,所以我想知道是否还有另一个我不知道的磁盘安装程序正在做实际工作

如果没有我希望有人

非常感谢G

答案1

所以事实证明,通过编辑 /etc/udev/scripts/mount.sh 中 automount() 中的行确实有效,我一定是编辑错误了。最初的行 (25) 看起来像这样

if ! $MOUNT -t auto -o async,relatime $DEVNAME "/media/$name"

以前我错误地添加了 fmask 和 dmask 选项。

if ! $MOUNT -t auto -o async,relatime,fmask=0777,dmask=0777 $DEVNAME "/media/$name"

现在如我所愿

if ! $MOUNT -t auto -o async,relatime,fmask=0000,dmask=0000 $DEVNAME "/media/$name"

我想之前我也可能没有重新启动系统,只是拔掉并重新插入磁盘或其他东西,但这似乎做了我想要的

相关内容