USB驱动器由用户自动安装,但仅具有root用户的写入权限


20

我正在尝试使用ext4 USB驱动器,但Ubuntu 13当前仅以root用户的写权限安装它,因此对于普通用户,如果没有sudo,我将无法对其进行写操作。

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

  • 自动挂载
  • 自动挂载
  • 自动运行
  • autorun-x-content-ignore
  • 自动运行x内容打开文件夹
  • autorun-x-content-start-app

在我看来,应该可以选择是否可以写入已安装的USB驱动器,但不能。

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

我已经搜索了大多数Internet,找不到解决方案来更改安装操作所赋予的权限。实际上,没有人会遇到这个问题。很多人会遇到问题,因为它们的驱动器完全是只读的,但只有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

尝试运行sudo umount /dev/sdb1,然后以普通用户身份进行安装。该mtab条目user=adam,这应该意味着用户adam可以使用它...
维尔夫

@wilf实际上是第二个具有user = adam的mtab条目,而不是USB驱动器。我不知道gvfsd保险丝是什么。可能无关紧要,但令我感到困惑的是为什么只有一个条目却没有USB驱动器。
2014年

糟糕...应多加注意。输入项本身很好,因此应该可以使用...是否以图形方式或通过命令行安装和卸载驱动器?-运行gvfs-mount -d /dev/sdb1应安装驱动器,也应安装udisks --mount /dev/sda5。这些密码不需要root密码,因为它们使用gvfsd条目允许访问。
Wilf 2014年

所以gvfs确实与此有关。我当前正在通过nautilus以图形方式安装和卸载驱动器,但是我实际上希望在附件上自动完成它,以便backupdb进程可以使用该驱动器。我觉得这是另一个问题,即使我对写权限进行了排序。
亚当

1
@Adam,您的USB设备的文件系统类型是什么?与什么情况ls -ld /media/adam/WDPassport2Tls -l /media/adam/WDPassport2T输出?
2014年

Answers:


25

可能的原因是您使用具有root特权的工具格式化/创建了存储磁盘,因此创建的文件系统归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

文件系统归根目录所有,如ls -ld挂载WDPassport2T所指示,并且权限字符串 drwxr-xr-x显示所有者根目录具有RW权限,而组root成员以及world / others 成员仅具有R许可。

为了解决这个问题,您可以使用更改权限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权限。)

参考:

Ubuntu官方文档:文件权限


太棒了 我没有尝试尝试,因为我只是假设/ media / adam / WDPassport2T上的文件权限是由安装过程设置的,即我没有意识到实际的USB驱动器(或其分配的安装点)会获取并保留权限。如果将磁盘插入另一个盒子,那么权限/所有权也会有类似的问题吗?
亚当

1
@Adam:“ ...如果将磁盘插入另一个盒子,权限/所有权是否会有问题?” 好吧,我不确定,所以我发布了这个问题:chmod和chown命令的可移植性如何?..如果还希望对其他系统中的文件/目录具有RW权限,则可以允许使用的世界/其他用户使用RW chmod,请参阅更新后的答案...
2014年

如果我使用格式化USB驱动器ext4 gksu gparted,会自动使我成为该USB驱动器的所有者,还是仍然以root作为所有者进行格式化?
2016年

这行不通。当我尝试在该安装点上穿上任何东西时,仍然无法进行操作。
Fr0ntSight

但问题是为什么首先将驱动器安装为root用户。我可以设置一个设置,以便将来由用户安装驱动器吗?
becko

1

您是否尝试过使用自己的权限重新格式化驱动器?

首先,检查您的用户ID:

sudo id -u red

应该给“ 1000”

接下来,在filemanager中取消驱动器。

注意,下一个命令将丢失所有数据

sudo mkfs.ext4 /dev/sdx1 -E root_owner=1000:1000

安装驱动器,您应该能够写入文件和文件夹


1

大多数分区和格式化工具(例如Gparted)都需要root特权。

ext4,ext3等文件系统使用笔式驱动器本身存储文件所有权信息。(但是ntfs,fat32,fat16没有这样的安全性)

在这种情况下,您必须通过在终端中使用以下命令来更改权限。

chown -hR nobody:nogroup /media/adam/WDPassport2T/

通过将用户设置为“ nobody”,将组设置为“ nogroup”,可以将磁盘插入另一个框中时解决权限/所有权方面的类似问题。

有关更多信息,请参见chown命令的手册页(使用“ man chown”)


这是nobody正常的。但是我的用户ID并非没有人,这使我无法编写。
K3 --- rnc

0

文件系统归根目录所有,如挂载WDPassport2T的ls -ld所指示,权限字符串drwxr-xr-x显示所有者根目录具有RW权限,而组root的成员以及world / others将只有R许可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.