当前位置: 首页>>技术教程>>正文


unity – 用户的 USB 驱动器 auto-mounted,但仅获得 root 的写入权限

, , , ,

问题描述

我正在尝试使用我的 ext4 USB 驱动器,但 Ubuntu 13 目前仅使用 root 用户的写入权限安装它,所以对于我的普通用户,我无法在没有 sudo 的情况下写入它。

我检查的第一个地方是 dconf-editor 它有以下选项

  • 自动挂载

  • automount-open

  • autorun-never

  • autorun-x-content-忽略

  • autorun-x-content-open-folder

  • autorun-x-content-start-app

在我看来,那里应该有一个选项来控制我是否可以写入已安装的 USB 驱动器,但不能。

我还确保我的用户在相关组中:fuseplugdev

我搜索了大部分互联网,但找不到更改挂载操作赋予的权限的解决方案。从字面上看,没有人会难以置信地遇到这个问题。很多人都有问题,因为他们的驱动器完全只读,但不是这种方式,只有 root 写权限。

我看不到任何控制发生的事情的方法。我查看了使用 gnome-disks 设置安装选项,但画了一个空白。

它不在 fstab 中,但确实出现在 mount 列表或 /etc/mtab 中:

/dev/sdb1 /media/adam/WDPassport2T ext4 rw,nosuid,nodev,uhelper=udisks2 0 0

如果有帮助,这将显示在 syslog 中:

kernel: [111522.196770] usb 2-1: USB disconnect, device number 6
kernel: [111525.384020] usb 2-1: new high-speed USB device number 7 using ehci-pci
kernel: [111525.565220] usb 2-1: New USB device found, idVendor=1058, idProduct=0820
kernel: [111525.565225] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
kernel: [111525.565227] usb 2-1: Product: My Passport 0820
kernel: [111525.565229] usb 2-1: Manufacturer: Western Digital
kernel: [111525.565231] usb 2-1: SerialNumber:  575832314141334A34383631
kernel: [111525.565729] usb-storage 2-1:1.0: USB Mass Storage device detected
kernel: [111525.566203] scsi9 : usb-storage 2-1:1.0
mtp-probe: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
mtp-probe: bus: 2, device: 7 was not an MTP device
kernel: [111526.564697] scsi 9:0:0:0: Direct-Access     WD       My Passport 0820 1007 PQ: 0 ANSI: 6
kernel: [111526.565063] scsi 9:0:0:1: Enclosure         WD       SES Device       1007 PQ: 0 ANSI: 6
kernel: [111526.568096] sd 9:0:0:0: Attached scsi generic sg2 type 0
kernel: [111526.568202] ses 9:0:0:1: Attached Enclosure device
kernel: [111526.568263] ses 9:0:0:1: Attached scsi generic sg3 type 13
kernel: [111531.263108] sd 9:0:0:0: [sdb] 3906963456 512-byte logical blocks: (2.00 TB/1.81 TiB)
kernel: [111531.265100] sd 9:0:0:0: [sdb] Write Protect is off
kernel: [111531.265105] sd 9:0:0:0: [sdb] Mode Sense: 47 00 10 08
kernel: [111531.266473] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.266479] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.272224] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.272230] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.284885]  sdb: sdb1
kernel: [111531.288219] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.288223] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.288227] sd 9:0:0:0: [sdb] Attached SCSI disk
kernel: [111531.751588] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
udisksd[3131]: Mounted /dev/sdb1 at /media/adam/WDPassport2T on behalf of uid 1000

最佳方法

一个可能的原因可能是您使用具有 root 权限的工具格式化/创建了存储磁盘,因此创建的 file-system 归 root 所有。

让我们看一下您的 ls 命令的 o/p:

$ ls -ld /media/adam/WDPassport2T
drwxr-xr-x 4 root root 4096 Jan 15 16:57 /media/adam/WDPassport2T
$ ls -l /media/adam/WDPassport2T
total 20 
drwxr-xr-x 2 root root 4096 Jan 15 16:57 backuppc 
drwx------ 2 root root 16384 Jan 15 15:37 lost+found

file-system 由 root 拥有,如您的挂载 WDPassport2T 的 ls -ld 所示,permission string drwxr-xr-x 显示所有者 root 具有 RW 权限,而组 root 的成员以及世界/其他人将只有 R-permission。

要解决此问题,您可以使用 chmod 更改权限,或者只是递归更改所有权,这就是我在下面显示的内容:

sudo chown <username>:<groupname> -R /path/to/target

在你的情况下是:

sudo chown adam:adam -R /media/adam/WDPassport2T/

现在,如果您需要,您还可以使用 chmod 设置权限:

find /media/adam/WDPassport2T/ -type f -execdir chmod 666 -Rv {} +

(它为目标中的所有文件提供所有者、组和世界 RW 权限。)

find /media/adam/WDPassport2T/ -type d -execdir chmod 777 -Rv {} +

(它为目标中的所有目录提供所有者、组和世界 RWX 权限。)

参考:

Official Ubuntu Documentation: File Permissions

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13097.html,未经允许,请勿转载。