如何自动安装所有用户均可写入的 USB 驱动器?

如何自动安装所有用户均可写入的 USB 驱动器?

我正在尝试设置 Raspberry Pi 来运行 BitTorrent Sync,以将我的文件备份到外部硬盘驱动器,但遇到了一些令人沮丧的问题。

首先,我需要将 USB 硬盘设置为在启动时自动挂载,因为我住的地方经常断电。因此,我添加了一行到/etc/fstab

/dev/sda1   /media/josiah    vfat    defaults   0   0

我重新启动,它安装了驱动器,但 btsync 无法写入它。因此,我读了一下,发现你必须指定用户选项,所以我尝试了这个;

/dev/sda1   /media/josiah    vfat    defaults,user   0   0

这似乎也不起作用,所以我尝试手动指定所有默认值

/dev/sda1   /media/josiah    vfat    rw,auto,user,async,suid,dev,exec    0   0

我以为它正在工作,但随后 btsync 再次开始抱怨它无法写入驱动器,当我尝试以普通用户身份卸载它时,它说只有超级用户才能卸载该驱动器。

这让我很困惑,因为我认为这个user选项就是用来做这个的。我遗漏了什么或做错了什么?

答案1

您可以在挂载分区后执行 chmod,但这不会在重启后持久保留。

您应该尝试这个 fstab 行:

/dev/sda1   /media/josiah    vfat    user,umask=0000   0   0

或者这个安装选项:

mount -t vfat -ouser,umask=0000 /dev/sda1 /media/josiah

这将使已挂载的分区可供全世界读取和写入。

如果您需要不太宽松的设置,您应该创建一个新组并按如下方式挂载:

mount -t vfat -ouser,gid=1010,umask=0007 /dev/sda1 /media/josiah

它假定新组的 gid 是 1010。所有需要访问挂载点的用户都需要添加到新组。

答案2

编辑挂载目录的权限。

就您而言,chmod 777 /media/josiah这应该能起到很好的作用。

答案3

“用户”选项仅允许用户安装设备,与文件的访问权限无关。

与 gnp 答案一样,请参阅“uid”/“gid”和“umask”选项。

答案4

FWIW:“当我尝试以普通用户身份卸载它时,它说只有超级用户才能卸载该驱动器。这让我很困惑,因为我认为这就是用户选项的用途。”

用户选项意味着只有挂载文件系统的用户才能再次卸载它。就你的情况而言,驱动器似乎是在启动时挂载的,在你登录之前——这意味着它是超级用户挂载的。如果任何用户都应该能够卸载它,那么使用用户代替用户在 fstab 行中。有关更多详细信息,请参阅 man mount 和/或 man fstab。

(问题本身的解决方案已经解释过了——要使驱动器所有用户都可写,请在 fstab 中使用 umask/dmask/fmask 选项,最终结合 uid/gid 选项。同样,man mount 和/或 man fstab 会有所帮助。vfat 上的 Chmod 确实是不可能的,因为 fat 文件系统根本不知道访问权限。)

相关内容