Linux
如何以使用者身份掛載外部 vfat 驅動器?
我在組 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 之類的命令進行掛載。
- fstab 中的更改如何生效?
由於您使用了 noauto,因此不會自動發生任何事情。該條目只允許使用者能夠掛載文件系統。