安装后,如何使所有用户都可以读取和写入外部驱动器?

安装后,如何使所有用户都可以读取和写入外部驱动器?

我习惯使用 macOS,其中外部驱动器安装在 /Volumes 下,所有用户都可以访问。我想在 Ubuntu 上模仿这种行为,以便我可以为另一个用户配置 Samba 共享,这样我就可以让 Plex 访问所有外部安装的媒体。有什么好方法可以做到这一点?

答案1

注意:我对 Plex 一无所知。我在帖子中看到的唯一内容是它以用户 plex 的身份运行,但这就是我的知识范围。

在我的测试箱中,当我(用户 = 测试人员)连接 USB HDD 时,它会安装到 /media/tester/$UUID - 测试人员可以访问,但其他人不能访问。

对任何 USB 媒体进行通用访问的一种方法是使用 bindfs 创建允许这样做的“视图”。

[1]安装bindfs:

sudo apt install bindfs

[2] 为这个“视图”创建一个挂载点:

sudo mkdir /MyMedia

[3] 使用 bindfs 将 /media/tester 临时重新挂载到 /MyMedia:

sudo bindfs /media/tester /MyMedia -o force-user=tester,force-group=tester,perms=666:+X

如果我将 USB HDD 连接到系统,它现在将显示被安装了两次:

** 一旦 Linux 想要将其挂载到以下位置:

$ ls -al /media/tester ... drwxr-xr-x 3 测试器测试器 4096 1969 年 12 月 31 日 03E9-7C8D

** 再次,bindfs 使用一组新的权限挂载“视图”:

$ ls -al /MyMedia ... drwxrwxrwx 3 测试人员 测试人员 4096 1969 年 12 月 31 日 03E9-7C8D

当我创建 samba 共享时,我将其指向 /MyMedia

要撤消 bindfs 挂载:

sudo umount /MyMedia

如果它按照您的要求执行操作,您可以在每次启动时通过在 /etc/fstab 末尾添加一行来创建这个 bindfs“视图”- 并改变语法:

/media/tester /MyMedia fuse.bindfs force-user=tester,force-group=tester,perms=666:+X,nonempty 0 0

如果仍然安装它,则将其卸载:

sudo umount /MyMedia

然后让 systemd 高兴:

sudo systemctl daemon-reload

然后挂载它:

sudo mount /MyMedia

现在每次启动时都应该安装该“视图”。

就像我在这篇文章开头所说的那样,我对 Plex 一无所知,但它希望所有文件都归用户“plex”所有,在 bindfs 挂载中将“force-user=tester”替换为“force-user=plex”。

相关内容