我使用 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分区注定会失败)。
你至少有两种可能性:
user
在相应的条目中指定选项fstab
,以便普通用户可以挂载 USB 驱动器:/dev/sdb1 /media/usb vfat rw,user 0 0
然后使用
(u)mount /media/usb
将媒体安装(卸载)为我的名字。
使用挂载选项
uid
来gid
指定整个挂载文件系统属于谁: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)