USB-диск автоматически монтируется пользователем, но получает права на запись только для пользователя root


20

Я пытаюсь использовать мой ext4 USB-накопитель, но Ubuntu 13 в настоящее время монтирует его с разрешением на запись только для пользователя root, поэтому с моим обычным пользователем я не могу писать на него без sudo.

Первое место, которое я проверил, было dconf-editorсо следующими вариантами

  • автомонтирования
  • автомонтирования открыть
  • не запускается автоматически, никогда
  • автозапуск-х-контента игнорировать
  • автозапуск-х-контента открытой папки
  • автозапуск-х-контента запуска приложения

и мне кажется, что там должна быть опция для контроля, могу ли я записать на подключенный 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

Попробуйте запустить sudo umount /dev/sdb1, а затем смонтировать его как обычный пользователь. mtabЗапись имеет user=adam, что должно означать , пользователь adamможет использовать его ...
Уилф

@wilf на самом деле это вторая запись mtab, в которой есть user = adam, а не USB-накопитель. Я не знаю, что это за gvfsd-fuse. Вероятно, не имеет значения, но я озадачен, почему одна запись имеет, а не USB-накопитель.
Адам

Упс ... Стоит обратить больше внимания. С самими записями все в порядке, поэтому оно должно работать ... Вы монтируете и отключаете диск графически или через командную строку? - Бег gvfs-mount -d /dev/sdb1должен смонтировать диск, также должен udisks --mount /dev/sda5. Они не должны требовать пароль root, поскольку они используют gvfsdзапись, чтобы разрешить доступ.
Уилф

так что gvfs имеет к этому какое-то отношение. В настоящее время я монтирую и отключаю диск графически с помощью nautilus, но на самом деле я хочу, чтобы это было сделано автоматически во вложении, чтобы процесс backupdb мог использовать диск. Мне приходит в голову, что это еще одна проблема, даже если я получаю отсортированные разрешения на запись.
Адам

1
@ Адам, каков тип файловой системы вашего USB-устройства? а что значит ls -ld /media/adam/WDPassport2Tи ls -l /media/adam/WDPassport2Tвывод?
точное

Ответы:


25

Возможная причина может заключаться в том, что вы отформатировали / создали диск хранения с помощью инструмента с привилегиями root, и поэтому созданная файловая система принадлежала корню .

Давайте посмотрим на o / p ваших lsкоманд:

$ 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
@ Адам: «... будут ли проблемы с правами доступа / владельцем, если я подключу диск в другую коробку?» ну, я не уверен, поэтому я опубликовал этот вопрос: Насколько переносимы команды chmod и chown? ..если вы хотите иметь права RW для файлов / каталогов и в других системах, вы можете разрешить использование RW для мира / других пользователей chmod, пожалуйста, обратитесь к обновленному ответу ...
точный

Если бы я отформатировал USB-накопитель ext4 с помощью этого gksu gparted, это автоматически сделало бы меня владельцем этого USB-накопителя или все равно было бы отформатировано с правами root в качестве владельца?
Марк

Это не работает Я все еще получаю операцию, которой не разрешают, когда я пытаюсь что-то добавить в эту точку монтирования.
Fr0ntSight

Но вопрос в том, почему диск монтируется как root. Могу ли я установить такой параметр, чтобы в будущем вместо него монтировался привод?
Бекко

1

Вы пробовали переформатировать диск с вашими собственными разрешениями?

Сначала проверьте свой идентификатор пользователя:

sudo id -u red

Должно дать "1000"

Далее размонтируйте диск в файловом менеджере.

Будьте осторожны, вы потеряете все свои данные при следующей команде

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хорошо Но мой идентификатор пользователя не никто, и это мешает мне писать.
K3 --- rnc

0

Файловая система принадлежит пользователю root, как указано ls -ld для вашего монтирования WDPassport2T, а строка прав доступа drwxr-xr-x показывает, что владелец root имеет разрешения RW, а члены группы root вместе с world / others будет иметь только R-разрешение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.