我习惯使用 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”。