如何使外部磁碟機在安裝後對所有使用者都可讀可寫入?

如何使外部磁碟機在安裝後對所有使用者都可讀可寫入?

我習慣了 macOS,外部驅動器安裝在 /Volumes 下並且所有用戶都可以存取。我想在 Ubuntu 上模仿這種行為,這樣我就可以為另一個使用者配置 samba 共享,這樣我就可以讓 Plex 存取所有外部安裝的媒體。有什麼好的方法可以做到這一點?

答案1

注意:我對 Plex 一無所知。我在帖子中看到的唯一一件事是它作為用戶 plex 運行,但這是我的知識範圍。

在我的測試盒中,當我( user = tester )連接 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」。

相關內容