快速摘要:如何安排 USB FAT32 拇指驱动器自动安装/media/USER/LABEL
,并具有非 root 读/写权限?
(这里有很多关于自动安装 USB 驱动器的问题,但我没有看到直接相关的问题。)
我在 x86_64 系统上运行 14.04.4 LTS。如果有必要的话,我正在使用 Cinnamon 桌面。我有一个 FAT32 格式的 USB 拇指驱动器。我fsck
在该驱动器上运行过,没有显示任何错误。
直到最近,当我将驱动器插入 USB 端口时,它不会自动安装。它会显示在 的输出中lsusb
,如下所示:
Bus 001 Device 008: ID 058f:6387 Alcor Micro Corp. Flash Drive
我能够手动安装它,使用类似以下命令:
sudo mkdir /tmp/usb ; sudo mount /dev/sdg1 /tmp/usb
但这并不理想。
我最近安装了该usbmount
软件包。之后(并重新启动),当我插入驱动器时,它会自动安装为/media/usb0
:
$ df /media/usb0
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdg1 15712248 9080 15703168 1% /media/usb0
$
问题:我可以读取驱动器上的所有内容,但它们似乎都归我所有,如果不使用或等效,root
我就无法写入驱动器。sudo
我想会发生这种情况:当我插入驱动器时,它会自动安装为/media/username/label
,其中username
是我的用户名,label
是驱动器上的卷标——和驱动器上的所有文件均由我的帐户拥有并可由我的帐户写入。
这用过的自动发生,但我不知道如何设置它。前段时间,我将工作站从 Debian 6 升级到 Ubuntu 14.04。当我运行 Debian 6 时,自动安装按我想要的方式工作。我还使用了不同的桌面环境(可能是某个版本的 Gnome?)。(从 Debian 6 过渡到 Ubuntu 14.04 恰好与我不再使用 USB 驱动器相吻合;现在我需要重新开始使用它们,所以我有一段时间没有尝试过这个了。)
答案1
我思考我明白发生什么事了。
我安装了一个名为 的软件包usbmount
。安装该软件包后,插入 USB 驱动器会自动将其安装为类似 的内容/media/usb0
,驱动器上的所有内容均归 拥有root
。(这适用于具有 FAT32 文件系统的驱动器,出于各种原因,我需要使用该文件系统。我不知道它如何与实际支持文件所有权的文件系统一起工作。)
从那时起,我卸载了usbmount
。现在,当我插入 USB 拇指驱动器时,它不会自动安装 - 但它会显示在 GUI 文件管理器中。(我使用 Cinnamon 桌面,所以我的 GUI 文件管理器是 Nemo;Nautilus 做同样的事情。)它出现在左栏中的一个条目中,标记为“16 GB 卷”)。如果我双击它,它就会被安装为,例如/media/kthompson/EC1C-4374
。如果我使用gparted
将驱动器的标签设置为THUMB
,它就会被安装为/media/kthompson/THUMB
,这正是我想要的。
很可能我没有注意到这一点,因为我不经常使用 GUI 文件管理器,而且我错误地记得它是自动安装的。
如果驱动器能够自动安装在 下就好了/media/$USER
,但打开 GUI 文件管理器并双击图标也没什么负担。如果驱动器是自动安装的,那么可能就无法 100% 确定哪个用户应该拥有它;这可能就是为什么usbmount
将其安装为 的原因root
。
答案2
可能的答案:
我不知道该怎么做全部USB 驱动器是通用的,但如果您有特定的驱动器,您可以编辑/etc/fstab
以按照您的喜好设置它们的安装。您可以使用磁盘(gnome-disks
),或者如果您不介意弄脏手,您可以手动编辑它。您需要设置一个<mount point>
,我认为您需要这些选项:
uid=1000,gid=1000,dmask=022,fmask=022,users
运行man fstab
以获取更多信息。还有一些信息这里在社区维基上。