如何以用户身份挂载外部 vfat 驱动器?

如何以用户身份挂载外部 vfat 驱动器?

我有一个挂载点 /mnt/v1 和一个用户 bak(在组 bak 中)。我这样做了:

sudo chown bak:bak /mnt/v1
sudo chmod 775 /mnt/v1

现在我想将一个带有分区 /dev/sdb1 的外部 fat32 驱动器挂载到此目录。我收到消息“只有 root 可以执行此操作”,因此我发现我需要更改 fstab 并添加此行:

/dev/sdb1       /mnt/v1     vfat        noauto,user           0      2

但是当我像这样挂载时,我仍然会收到令人讨厌的消息“只有 root 可以执行此操作”:

bak$ mount -t vfat /dev/sdb1 /mnt/v1

但是当我以 root 身份安装时,整个驱动器获得了我不想要的 root 权限。

是否需要采取一些措施才能将新的 fstab 条目读入内核?我该如何实现我的目标?

答案1

当你挂载 vfat 分区时,你可以传递 uid 和 gid选项设置文件系统所属的用户 ID 和组 ID。您还可以设置文件和目录权限掩码。如果文件系统将由多人使用,请考虑创建一个组并将您自己添加为成员。

你的 fstab 应该看起来像这样。

/dev/sdb1 /mnt/v1 vfat noauto,user,uid=blah,gid=blah 0 2

您的挂载命令将如下所示。

mount -t vfat /dev/sdb1 /mnt/v1 -o uid=blah,gid=blah

您可能还想看看安装挂载软件包使得用户可以轻松挂载文件系统。


回答评论中的问题。

1)当我使用 mount 命令时是否也需要 fstab?

如果您希望用户能够在不使用 sudo 的情况下挂载该命令,那么可以。

2)我必须以 root 身份才能执行您给我的挂载命令吗?

您可以从 fstab 中删除 noauto,文件系统将在启动时挂载。或者作为普通用户,他们可以使用以下命令挂载挂载 /mnt/v1

3)如何使 fstab 中的更改生效?

由于您使用了 noauto,因此不会自动发生任何事情。该条目仅允许用户挂载文件系统。

相关内容