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

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

我正在尝试使用我的 ext4 USB 驱动器,但 Ubuntu 13 目前仅对 root 用户具有写入权限,因此对于我的普通用户来说,如果没有 sudo,我无法对其进行写入。

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

  • 自动挂载
  • 自动挂载打开
  • 永不自动运行
  • 自动运行-x-内容忽略
  • 自动运行-x-内容-打开文件夹
  • 自动运行-x-content-启动应用程序

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

我还确保我的用户属于相关组fuseplugdev

我搜索了互联网上的大部分内容,但找不到更改挂载操作授予的权限的解决方案。令人难以置信的是,几乎没有人遇到过这个问题。很多人遇到问题是因为他们的驱动器完全以只读方式挂载,但这种方式只有 root 写入权限。

我看不出有什么办法可以控制发生的事情。我查看了使用设置安装选项,gnome-disks但一无所获。

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

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

如果有帮助的话,这就是系统日志中显示的内容:

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

答案1

可能的原因是,你使用具有 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 权限,而组成员与世界/其他人一起只具有 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 官方文档:文件权限

答案2

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

首先,检查你的用户 ID:

sudo id -u red

它应该给出“1000”

接下来,在文件管理器中卸载驱动器。

当心,你将丢失所有数据使用下一个命令

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

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

答案3

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

ext4、ext3 等文件系统将文件所有权信息存储在 U 盘本身中。(但 ntfs、fat32、fat16 没有这样的安全性)

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

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

通过将用户设置为“nobody”并将组设置为“nogroup”,它将修复将磁盘插入另一个盒子时出现的类似权限/所有权问题。

有关详细信息,请参阅 chown 命令的手册页(使用“ man chown”)

答案4

文件系统归 root 所有,如 ls -ld 为您的挂载 WDPassport2T 所指示的那样,权限字符串 drwxr-xr-x 表明所有者 root 具有 RW 权限,而组 root 以及 world/others 的成员只具有 R 权限。

相关内容