Только root может монтировать / dev / sdb1 в / media / sdb1 - вносить вклад во внешний usb-диск

14

Я не могу понять, почему, когда я попробовал подключить внешний драйвер USB в Ubuntu 12.04, я вижу следующее сообщение:

Error mounting: mount exited with exit code 1: helper failed with:
mount: only root can mount /dev/sdb1 on /media/sdb1

Вот содержание /etc/fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc                                       /proc           proc  nodev,noexec,nosuid       0  0  
# / was on /dev/sda1 during installation
UUID=5f5d330f-d5f2-4157-9496-94f1dce2f181  /               ext4  errors=remount-ro         0  1  
# swap was on /dev/sda5 during installation
UUID=84747ef4-6f50-49bc-9df1-fcba364ba299  none            swap  sw                        0  0  

/dev/fd0                                   /media/floppy0  auto  rw,user,noauto,exec,utf8  0  0  
/dev/sdc1                                  /media/sdc1     vfat  uid=1000,noauto           0  0  
/dev/sdd1                                  /media/sdd1     vfat  uid=1000,noauto           0  0  
/dev/sdb1                                  /media/sdb1     vfat  uid=1000,noauto           0  0

И это мой ток sudo fdisk -l:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e28b8

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   310484991   155241472   83  Linux
/dev/sda2       310487038   312580095     1046529    5  Extended
/dev/sda5       310487040   312580095     1046528   82  Linux swap / Solaris

Disk /dev/sdb: 993 MB, 993001472 bytes
2 heads, 1 sectors/track, 969728 cylinders, total 1939456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1             133     1939455      969661+   6  FAT16

Disk /dev/sdc: 4009 MB, 4009754624 bytes
16 heads, 32 sectors/track, 15296 cylinders, total 7831552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd8e1f237

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *          32     7831551     3915760    b  W95 FAT32

sdcи sdb- есть внешние драйверы USB.

Могу ли я решить эту проблему и автоматически смонтировать все внешние USB-накопители?

nazar_art
источник
Проверьте ваши разрешения. Опубликовать результаты: ls -l / | grep mediaиls -l /media | grep sd
Дан
@ dan08 Все это, поскольку drwxr-xr-x 2 root root 4096 Jun 14 11:04 bin; drwxr-xr-x 3 root root 4096 Aug 21 18:47 boot; drwxr-xr-x 2 root root 4096 Jun 9 14:17 cdrom;я не знаю, как разделить эту строку на части
nazar_art
@ dan08 конечно все они существуют, как drwxr-xr-x 2 root root 4096 Aug 20 22:00 sdc1/.
nazar_art

Ответы:

22

Вы должны добавить userопцию к вашемуfstab

/dev/sdc1    /media/sdc1     vfat  uid=1000,noauto,user           0  0  
/dev/sdd1    /media/sdd1     vfat  uid=1000,noauto,user           0  0  
/dev/sdb1    /media/sdb1     vfat  uid=1000,noauto,user           0  0

userОпция позволяет любому пользователю монтировать устройство, как сказано в человеке:

Обычно только суперпользователь может монтировать файловые системы. Однако, когда fstab содержит userпараметр в строке, любой может смонтировать соответствующую систему.

Или, если вы хотите, чтобы любой пользователь монтировал / размонтировал диски, используйте usersвместо этого:

/dev/sdc1    /media/sdc1     vfat  uid=1000,noauto,users           0  0  
/dev/sdd1    /media/sdd1     vfat  uid=1000,noauto,users           0  0  
/dev/sdb1    /media/sdb1     vfat  uid=1000,noauto,users           0  0

Man страница:

Только пользователь, который смонтировал файловую систему, может размонтировать ее снова. Если любой пользователь должен иметь возможность размонтирования, используйте пользователей вместо пользователя в строке fstab.

Примечание:user вариант также подразумевает noexec, nosuidи nodev, поэтому , если вам нужны эти параметры, вам необходимо добавить их аналоги. Например, если вам нужно выполнить двоичные файлы с диска, вы должны добавить опцию exec, чтобы ваши параметры были uid=1000,noauto,user,exec, и то же самое относится и к двум другим.

Дальнейшее чтение: Fstab - Документация по Ubuntu

Braiam
источник
Согласно вашему ответу, есть ли разница между «пользователем» и «пользователями» в том, что с «пользователями» пользователь может также размонтировать, но не с «пользователем»?
Хосе Гомес
1
Нет, пользователи разрешают любому пользователю отключать диск
Braiam
2

Если у вас есть запись для устройства в / etc / fstab, это предотвратит автоматическое монтирование Ubuntu при подключении устройства.

Я только что проверил это на моей системе, которая автоматически вставляла мой флэш-накопитель при вставке:

// insert thumb-drive
$ grep gvfsd /proc/mount
gvfsd-fuse on /run/user/msw/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=msw)

Когда я добавил строку

/dev/sdb1   /mnt    vfat    noexec 0 0

в / etc / fstab и вставил флеш-накопитель, был процесс активности, gvfsd-udisks2-volume-monitorкоторый включал в себя открытие и чтение / etc / fstab (как показано на рисунке strace). Флешка не смонтирована.

Когда я изменил / etc / fstab, добавив один символ, чтобы закомментировать запись:

#/dev/sdb1   /mnt    vfat    noexec 0 0

gvfsd-udisks2-volume-monitor снова занялся и установил флэш-накопитель. Мне не нужно было извлекать флэш-накопитель и вставлять его заново, мне не нужно было отправлять сигнал в gvfsd, поэтому демон автоматического монтирования, похоже, следит за изменениями в / etc / fstab.

Я не знаю, почему это так, но тест был простым и повторяемым.

MSW
источник