我正在尝试使用我的 ext4 USB 驱动器,但 Ubuntu 13 目前仅对 root 用户具有写入权限,因此对于我的普通用户来说,如果没有 sudo,我无法对其进行写入。
我检查的第一个地方dconf-editor
有以下选项
- 自动挂载
- 自动挂载打开
- 永不自动运行
- 自动运行-x-内容忽略
- 自动运行-x-内容-打开文件夹
- 自动运行-x-content-启动应用程序
在我看来,其中应该有一个选项来控制我是否可以写入已安装的 USB 驱动器,但是没有。
我还确保我的用户属于相关组fuse
:plugdev
我搜索了互联网上的大部分内容,但找不到更改挂载操作授予的权限的解决方案。令人难以置信的是,几乎没有人遇到过这个问题。很多人遇到问题是因为他们的驱动器完全以只读方式挂载,但这种方式只有 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 权限。)
参考:
答案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 权限。