Linux

如何以使用者身份掛載外部 vfat 驅動器?

  • July 21, 2009

我在組 bak 中有一個掛載點 /mnt/v1 和一個使用者 bak。我這樣做了:

sudo chown bak:bak /mnt/v1
sudo chmod 775 /mnt/v1

現在我想將帶有分區 /dev/sdb1 的外部 fat32 驅動器掛載到這個目錄。我收到消息“只有 root 可以這樣做”,所以我發現我需要更改 fstab 並添加了這一行:

/dev/sdb1       /mnt/v1     vfat        noauto,user           0      2

但是當我像這樣安裝時,我仍然收到令人討厭的消息“只有 root 才能做到這一點”:

bak$ mount -t vfat /dev/sdb1 /mnt/v1

但是當我以 root 身份掛載時,整個驅動器都會獲得我不想要的 root 權限。

是否需要採取一些措施才能將新的 fstab 條目讀入核心?我怎樣才能達到我想要的?

當你掛載你的 vfat 分區時,你可以傳遞一個 uid 和 gid選項來設置文件系統將擁有的使用者 ID 和組 ID。您還可以設置文件和目錄權限遮罩。如果文件系統將被幾個人使用,請考慮創建一個組並將自己添加為成員。

您的 fstab 應該看起來像這樣。

/dev/sdb1 /mnt/v1 vfat noauto,user,uid=blah,gid=blah 0 2

你的 mount 命令看起來像這樣。

mount -t vfat /dev/sdb1 /mnt/v1 -o uid=blah,gid=blah

您可能還想查看安裝pmount包以使使用者輕鬆安裝文件系統。


回答評論中的問題。

1)當我使用 mount 命令時,是否也需要 fstab?

如果您希望使用者能夠在不使用 sudo 的情況下掛載命令,那麼可以。

2)我必須是你給我的 mount 命令的 root 使用者嗎?

您可以從 fstab 中刪除 noauto,文件系統將在引導時掛載。或者作為普通使用者,他們可以使用mount /mnt/v1 之類的命令進行掛載。

  1. fstab 中的更改如何生效?

由於您使用了 noauto,因此不會自動發生任何事情。該條目只允許使用者能夠掛載文件系統。

引用自:https://serverfault.com/questions/43634