Je ne comprends pas pourquoi, lorsque j'ai essayé le pilote USB externe de plug-in dans Ubuntu 12.04, je vois le message suivant:
Error mounting: mount exited with exit code 1: helper failed with:
mount: only root can mount /dev/sdb1 on /media/sdb1
Voici le contenu 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
Et voici mon Sudo fdisk -l
actuel:
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
et sdb
- il existe des pilotes USB externes.
Puis-je résoudre ce problème et monter automatiquement tous les lecteurs USB externes?
Vous devez ajouter l'option user
à votre fstab
name__.
/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
L'option user
permet à tout utilisateur de monter un périphérique, comme indiqué dans man:
Normalement, seul le superutilisateur peut monter des systèmes de fichiers. Cependant, lorsque fstab contient l'option
user
sur une ligne, tout le monde peut monter le système correspondant.
Ou, si vous souhaitez qu'un utilisateur monte/démonte les lecteurs, utilisez plutôt users
name__:
/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
Page de manuel:
Seul l'utilisateur ayant monté un système de fichiers peut le démonter à nouveau. Si un utilisateur doit pouvoir démonter, utilisez-le plutôt que l'utilisateur dans la ligne fstab.
Remarque: L'option user
implique également noexec
name__, nosuid
et nodev
name__, donc si vous avez besoin de ces options, vous devrez ajouter leurs contreparties. Par exemple, si vous devez exécuter des fichiers binaires à partir du lecteur, vous devez ajouter l'option exec
pour que vos options soient uid=1000,noauto,user,exec
et il en va de même pour les deux autres.
Lectures supplémentaires: Fstab - Documentation Ubunt
Si vous avez une entrée pour un périphérique dans/etc/fstab, cela empêchera le programme de montage automatique Ubuntu de monter ce périphérique lorsqu'il est branché.
Je viens de tester ceci sur mon système qui montait automatiquement ma clé USB lors de l'insertion:
// insert thumb-drive
$ grep gvfsd /proc/mount
gvfsd-Fuse on /run/user/msw/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=msw)
Quand j'ai ajouté la ligne
/dev/sdb1 /mnt vfat noexec 0 0
dans/etc/fstab et inséré la clé USB, le processus gvfsd-udisks2-volume-monitor
a généré une activité intense, qui incluait l’ouverture et la lecture de/etc/fstab (comme indiqué par strace
). La clé USB n'a pas été montée.
Quand j'ai changé/etc/fstab en ajoutant un caractère pour commenter l'entrée:
#/dev/sdb1 /mnt vfat noexec 0 0
gvfsd-udisks2-volume-monitor s'est à nouveau occupé et a monté la clé USB. Je n'avais pas besoin de sortir la clé USB et de la réinsérer, je n'avais pas à envoyer de signal à gvfsd, le démon de montage automatique semble donc regarder les modifications dans/etc/fstab.
Je ne sais pas pourquoi il se comporte de cette façon, mais le test était simple et répétable.