所有用户都可以读/写的自动挂载驱动器的 fstab 行

evi*_*der 1 linux mount esata fstab

我安装了一条电缆,将 CPU 的 SATA 主板连接连接到可移动驱动器的 ESATA 连接。

我希望能够在 ESATA 连接上交换驱动器,并使所有用户都能够读取和写入这些驱动器。

我已经创建了/archive/我想要安装驱动器的目录。

这些驱动器都格式化为 Fat 32 - 但将来我可能会使用 HFS 进行格式化。

当我使用命令时(以 root 身份):

mount /dev/sdc1 /archive
Run Code Online (Sandbox Code Playgroud)

驱动器已安装(但只读)

我可以在我的/etc/fstab文件中使用什么来允许系统上的所有用户安装和卸载驱动器?(阅读和写作)

另外,我能否在不关机的情况下安装和卸载这些驱动器?还是每次要更换驱动器时都需要重新启动?

use*_*686 5

我可以在我的 /etc/fstab 文件中使用什么来允许系统上的所有用户安装和卸载驱动器?(阅读和写作)

如果是个人计算机,最好使用类似udisks(GNOME 用于(自动)安装设备的)之类的东西,如udisks --mount /dev/sdc1.

另一种选择是pmount

但是,如果您需要它与mount实用程序一起使用,并且您可以保证设备节点永远不会改变,那么这应该可以工作:

/dev/sdc1  /archive  auto  users,uid=0,gid=0,fmask=0111,dmask=0,file_umask=0111,dir_umask=0,utf8  0  0
Run Code Online (Sandbox Code Playgroud)

fmask/dmask用于msdos/vfat文件系统,file_umask/dir_umask用于hfs. 在这两种情况下,所有文件都具有权限 0666 和目录 0777。


编辑:这可能会有所帮助。跑过去sudo

#!/usr/bin/env bash
device=/dev/sdc1
mountpoint=/archive
# You can also use "uid=$SUDO_UID,gid=$SUDO_GID"
options="users,uid=0,gid=0,utf8"
# sets TYPE to the detected type; also UUID, LABEL where supported by filesys.
. <(blkid -c /dev/null -o export "$device")
case $TYPE in
vfat) options="$options,fmask=0111,dmask=0" ;;
hfs)  options="$options,file_umask=0111,dir_umask=0" ;;
esac
mount -t "$TYPE" -o "$options" "$device" "$mountpoint"
Run Code Online (Sandbox Code Playgroud)