如何更改 fat32 USB 驱动器的用户:组?

如何更改 fat32 USB 驱动器的用户:组?

我使用 gparted 将 USB 驱动器格式化为 fat32。我将其挂载到/media/usb具有以下权限的位置。

drwxr-xr-x 2 myname users 4096 May 16 11:00 usb/

通过。。sudo mount -t vfat -o rw /dev/sdb1 /media/usb现在权限更改为:

drwxr-xr-x 2 root  root  4096 Dec 31  1969 usb/

我运行sudo chown -R myname:users /media/usb。输出是:

chown: changing ownership of ‘/media/usb’: Operation not permitted

我怎样才能解决这个问题?

答案1

您可能希望以普通用户的身份拥有对 USB 设备的读/写访问权限。问题是,FAT 文件系统没有实现文件所有者的概念,因此您的 chown 命令(例如在扩展 2/3/4分区注定会失败)。

你至少有两种可能性:

  1. user在相应的条目中指定选项fstab,以便普通用户可以挂载 USB 驱动器:

     /dev/sdb1     /media/usb      vfat     rw,user       0  0
    

    然后使用

     (u)mount /media/usb
    

    将媒体安装(卸载)为我的名字

  2. 使用挂载选项uidgid指定整个挂载文件系统属于谁:

    sudo mount -t vfat -o rw,uid=myname,gid=users /dev/sdb1 /media/usb
    

答案2

您无法直接更改 Microsoft 格式分区上的 Linux 权限。在 extN 分区上执行此操作,因为这是一个与 Linux 权限相符的 Linux 分区。

要做的就是改变相应行中的所有权/etc/fstab,但这意味着同时更改设备内所有目录和文件的值。如果你想这样做,你可以使用uid=1000为自己,指导编号=46对于 plugdev groupd,所有用户自动成为其成员。

以上内容也适用于 NTFS 分区,原因完全相同:Microsoft 实际上没有文件和目录权限。

答案3

默认非root用户才不是具有对块设备的默认访问权限。如果这是真正需要做的一件事:

mount -t vfat  -o rw /dev/sdXY /run/media/$username/foo
## /media/.gvfs/$username/foo for ubuntu) 

mount -t vfat -o rw  /dev/sdXY /home/$username/foo

将该用户添加到Plugdev组。

然后,在中添加或创建udev自动挂载脚本/etc/udev/rules.d/80-usb-rules

mountpoint  by /dev/sdXY ,  /dev/by-uuid/ ,   /dev/by-device (using the usb-x-y notation)

相关内容