Apenas o root pode montar o / dev / sdb1 em / media / sdb1 - contribuir para o drive usb externo

14

Não consigo entender por que, quando experimentei o driver USB externo plug-in no Ubuntu 12.04, vejo a próxima mensagem:

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

Aqui está o conteúdo de /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

E este é o meu atual 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 e sdb - existem drivers USB externos.

Posso resolver este problema e montar todos os drives usb externos automaticamente?

    
por nazar_art 23.08.2013 / 21:53

2 respostas

19

Você precisa adicionar a opção user ao seu 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

A opção user permite que qualquer usuário monte um dispositivo, como dito no homem:

  

Normalmente, apenas o superusuário pode montar sistemas de arquivos. No entanto, quando fstab contém a opção user em uma linha, qualquer um pode montar o sistema correspondente.

Ou se você quiser que qualquer usuário monte / desmonte as unidades, use 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

Página do manual:

  

Somente o usuário que montou um sistema de arquivos pode desmontá-lo novamente. Se algum usuário conseguir desmontar, use usuários em vez de usuário na linha fstab.

Observação: a opção user também implica noexec , nosuid e nodev , portanto, se você precisar dessas opções, precisará adicionar suas contrapartes. Por exemplo, se você precisar executar arquivos binários a partir da unidade, adicione a opção exec , para que suas opções sejam uid=1000,noauto,user,exec e o mesmo seja válido para as outras duas.

Outras leituras: Fstab - Documentação do Ubuntu

    
por Braiam 24.08.2013 / 20:07
2

Se você tiver uma entrada para um dispositivo em / etc / fstab, isso impedirá que o montador automático do Ubuntu monte esse dispositivo quando conectado.

Acabei de testar isso no meu sistema, que montava automaticamente meu pen drive na inserção:

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

Quando adicionei a linha

/dev/sdb1   /mnt    vfat    noexec 0 0

para o / etc / fstab e inserido o thumb-drive, houve uma enxurrada de atividades pelo processo gvfsd-udisks2-volume-monitor que incluiu a abertura e leitura do / etc / fstab (como mostrado por strace ). O pen drive não montou.

Quando eu mudei o / etc / fstab adicionando um caractere para comentar a entrada:

#/dev/sdb1   /mnt    vfat    noexec 0 0

gvfsd-udisks2-monitor de volume tornou-se ocupado novamente e montou o pen drive. Eu não tive que tirar o thumb-drive e reinseri-lo, eu não tive que enviar um sinal para o gvfsd, então o daemon de montagem automático parece estar assistindo / etc / fstab para mudanças.

Eu não sei por que ele se comporta dessa maneira, mas o teste foi simples e repetitivo.

    
por msw 24.08.2013 / 00:29