我有一个单独的 FAT32 分区,位于 Xubuntu 20.04 持久 USB 实时驱动器上。
当我启动时,该驱动器未安装。如果我双击未安装的驱动器,它会安装,我可以正常写入。但是,我希望能够通过命令行以可写模式安装它,而不是在 GUI 中双击。如果我尝试创建一个安装点,然后通过命令行安装驱动器,它将仅以只读方式安装。
以下是我尝试过的几件事:
sudo mkdir /media/xubuntu/foo
然后我尝试将驱动器安装到该安装点:
sudo mount /dev/sda3 /media/xubuntu/foo
其结果是只读。
运行时:
sudo mount -o rw /dev/sda3 /media/xubuntu/foo
也导致只读。
我还可以尝试什么?
答案1
当您单击 gui 时,它不是在后台运行的 mount 命令,而是 udisks2。
udisksctl mount -b blockdevice name (example /dev/sdb1)
答案2
在 Linux 中,驱动器默认以root
所有者身份挂载。对于vfat
文件系统,您只能一次更改整个卷的所有权/权限,因为vfat
不支持 unix 文件权限。因此,要允许vfat
以用户身份读取/写入分区,请将挂载点的所有者更改为用户。可以使用以下命令完成
sudo chown $USER:$USER /media/xubuntu/foo
$USER
如果您是目标用户,那么您可以直接离开。否则,$USER
请用需要拥有所有权的用户的登录名替换。
答案3
由于该 FAT 文件系统没有 Linux 用户和组的概念,因此所有文件都归 root 所有;除非您使用and/ormount
等选项告诉命令其他内容。您的用户 ID 可能是 1000(Ubuntu 上第一个用户帐户的默认值),为您的用户帐户专门创建的一个用户组也是如此(请参阅)。使用命令查找。uid=
gid=
/etc/group
id
sudo mount -o uid=1000,gid=1000 /dev/sda3 /media/xubuntu/foo
你会发现你现在拥有该分区上的文件,而不是根。
为了使这些更改永久生效,请添加一个条目到/etc/fstab
:
/dev/sda3 /media/xubuntu/foo vfat uid=1000,gid=1000 0 0
要以您自己的身份挂载它而无需密码并且不在启动时自动挂载它,请使用
/dev/sda3 /media/xubuntu/foo vfat uid=1000,gid=1000,user,noauto 0 0
(请注意,user
挂载选项与挂载和卸载的权限有关,而不是设备上文件的所有者)
在早期版本中,我建议使用$UID
和$GID
环境变量,但事实证明至少$GID
在所有 shell 环境中都无法可靠地使用。