Fstab

如何讓所有使用者自動安裝和使用硬碟?

  • December 27, 2020

我的電腦有 3 個磁碟驅動器:

  • 256GB ssd(根和交換分區)
  • 60GB 固態硬碟 (ext4)
  • 2TB 硬碟 (ext4)

我想在啟動時自動掛載兩個額外的驅動器,並且我希望所有使用者都能夠在它們上讀/寫/執行。為此,我將以下幾行添加到fstab

/dev/sdb1   /mnt/vertex ext4    defaults,users,noatime 0 0
/dev/sdc1   /mnt/cuda   ext4    defaults,users,noatime 0 0

從我讀過的內容來看fstab,我認為這應該有效,但事實並非如此。重新啟動或執行後sudo mount -a,驅動器成功掛載,但我無法以 root 以外的任何使用者身份寫入它們。

認為這是必須的,因為我/mnt以 root 身份創建了目錄,我在我的主目錄中創建了目錄,並將這些作為掛載點添加到fstab. 但結果是一樣的,在啟動時或使用sudo mount -a時,驅動器已安裝,但如果沒有超級使用者權限則無法寫入。

如果我刪除這些行fstab並重新啟動,我可以看到我的文件管理器(thunar)中列出的驅動器。我可以點擊它,thunar 將安裝驅動器,我可以看到上面的文件,但我仍然無法寫入驅動器。

我搞不清楚了。

這兩個分區的格式為ext4,預設情況下將該卷的根目錄的所有者和組設置為root,並將權限設置為rwxrwxr-x(IIRC)。你可以檢查一下

$ ls -la /mnt/<mountpoint>

為了使它們對普通使用者可寫,您可以將該根目錄的組更改為普通使用者的組

$ sudo chgrp users /mnt/<mountpoint>

安裝驅動器時(用適當的組名替換組名),或者您使該目錄對每個人都可寫(這可能會打開安全漏洞):

$ sudo chmod o+w /mnt/<mountpoint>

這會永久更改卷的根目錄的權限(僅此而已),並且只需執行一次。請注意,新 FS 條目(文件、目錄等)的所有者、組和權限仍然取決於創建它們的使用者。還有更細粒度的可能性來處理這個問題,但這是一個高級主題,取決於您的案例。如果您有特殊要求,請擴展此問題或(更好地)創建一個新問題,這對您不起作用。

引用自:https://unix.stackexchange.com/questions/626262