Outils pour utilisateurs

Outils du site


montage_vfat

Montage d'une partition FAT32 pour partage avec windows

NB1: le formatage FAT32 (vfat pour linux) est un formatage dépassé, qui n'est pas très fiable et qui est limité (taille des fichiers par exemple). A n'utiliser que quand on ne peut pas faire autrement.

NB2: quelquefois, le montage est refusé, simplement parce qu'il comporte des erreurs que linux, plus rigoureux, n'accepte pas. Il suffit dans ce cas de demander sous Windows la vérification-correction de la partition avec l'explorateur de fichiers Windows (ou CHKDSK sous console DOS) pour que le montage linux se fasse.

Références

  • page man de “mount” en console, ou protocole man sous konqueror (faire “man:/mount” et choisir man8 en français)
  • page man de “fstab” en console, ou protocole man sous konqueror (faire “man:/fstab” et choisir man5 en français)

Petit rappel sur les droits d'accès aux fichiers et aux répertoires

Ce n'est qu'un résumé succinct orienté pour résoudre les problèmes courants de montage. Pour infos complètes: voir le manuel.

Droits d'accès à un fichier ou à un répertoire:

  • “r”=droit de lire
  • “w”=droit d'écrire
  • “x”=droit d'exécuter (pour un répertoire, c'est le droit de rentrer à l'intérieur).

On exprime cela avec un chiffre octal: 4 pour “r”, 2 pour “w”, 1 pour “x”, et 0 pour l'absence de droit. Le maxi est donc 4+2+1=7, et le mini est 0+0+0=0..

Ainsi, si on veut un droit “r-x”, on a 4+0+1 = 5. Si on veut “rwx”, on a 4+2+1=7. Si on veut “—”, on a 0+0+0=0.

Ces droits (rwx) doivent être définis pour: le propriétaire, le groupe et le reste du monde, ce qui donne trois droits: “rwxrwxrwx” et donc un nombre octal composé de trois chiffres. On peut voir ces droits en demandant l'affichage détaillée dans konqueror, ou en demandant “ls -l” dans une console.

Ainsi, un droit 777 est “rwxrwxrwx”. Et un droit “rwxr-xr-x” est 755.

Le paramètre umask définit les droits qu'on n'a pas: le nombre octal de umask est donc le complément à 7 des droit d'accès! Par exemple, si je veux un droit 755 soit “rwxr-xr-x”, j'aurais un umask=(7-7)(7-5)(7-5) soit umask=022.

Dernier point, puisque c'est un nombre octal, on doit mettre un 4ème zéro à gauche (en informatique, un nb entier octal commence toujours par zéro), ce qui donnerait umask=0022 pour l'exemple précédent. Comme j'ai déjà rencontré des pb avec umask=222 qui ne marchait pas et umask=0222 qui marchait, je met systématiquement ce zéro supplémentaire.

Montage d'une partition vfat-fat32 pour partage avec windows

NB: ce qui suit n'est pas habituellement applicable aux partitions des disques externes (USB par ex.) qui sont montés automatiquement au branchement.

Le formatage FAT32 de Windows (=vfat pour linux) ne sait pas contenir les droits d'accès linux de chaque fichier et répertoire (ni propriétaire:groupe, ni droit de lecture-écriture-exécution). Dans ce cas, linux affecte un même “propriétaire:groupe” et les mêmes droits à tous les fichiers de la partition en fonction des conditions de montages. Par exemple, pour un montage “auto” au boot, la partition est affectée à “root:root”. Pour un montage “noauto”, c'est à l'utilisateur qui a monté. On peut cependant outrepasser ces droits par défaut, et c'est ce que nous allons faire.

Le montage avec les paramètres minimum est (si partition=sda1 et répertoire “partwin” à créer avant dans /media):

/dev/sda1 /media/partwin vfat default 0 0

le paramètre “default” (il y a bien un “l” avant le “t”) entraine en fait les paramètres suivants: rw,suid,dev,exec,auto,nouser,async:

  • rw: —> montage en lecture/écriture
  • suid: —> possibilité de tenir compte du bit set-uid et set-gid des fichiers (mais FAT32 n'en a pas!)
  • dev: —> interpréter les fichiers spéciaux de périphérique /dev (mais FAT32 n'en a pas!)
  • exec: —> possibilité d'exécuter des programmes binaires (pas souhaitable sur du FAT32)
  • auto: —> montage au démarrage de linux (ou avec “mount -a” en console sous root)
  • nouser : —> seul root peut monter ou démonter cette partition
  • async: —> l'écriture est différée sur le disque (c'est plus rapide) = mode par défaut pour les disques internes

Si vous laissez comme cela, le montage est fait automatiquement, mais il est attribué en totalité au propriétaire “root” qui seul pourra lire et écrire, ce qui est dommage pour une partition de partage… Il faut donc corriger cela. Il y a d'autres problèmes: le fait de pouvoir exécuter des programmes binaires est également anormal. Quand à demander à ce que l'on tienne compte des bit suid…

Dans la liste des options, on peut corriger les paramètres par un paramètre supplémentaire. De plus, on peut retirer le paramètre “default” qui est implicite dès qu'il y a un autre paramètre.

On peut utiliser l'option “user” qui permet à un utilisateur normal (non-root) de monter et démonter. Mais en fait, ce qui est intéressant, c'est que l'option “user” amène avec lui les options “nosuid,nodev,noexec” qui sont bien pour une partition d'échange (on pourrait se contenter d'ailleurs de ces options). Avec “user”, l'utilisateur qui démonte est celui qui a monté. Si vous voulez qu'un utilisateur, autre que celui qui a monté, puisse démonter la partition, c'est “users” qu'il faut utiliser.

Enfin, il faut en général utiliser une option permettant de gérer les caractères accentués: selon votre configuration, voir la page man de mount.

Pour les exemples ci-dessous: la partition est sda1 (/dev/sda1) et le répertoire de montage est /media/partwin qui doit être créé avant. Vous corrigez en fonction de votre configuration.

En laissant le paramètre par défaut: "auto"

On peut élargir les droits de lecture avec umask:

/dev/sda1 /media/partwin vfat user,umask=0000  0 0  

Ce qui donnera à tous le droit de lecture et d'écriture, la partition restant la propriété de root.

On peut aussi attribuer la partition au montage à l'un des utilisateurs (par exemple, uid=1000, gid=100):

/dev/sda1 /media/partwin vfat user,uid=1000,gid=100 0 0  

Ce qui affectera la partition à l'utilisateur qui a un uid=1000 et au groupe qui a un gid=100.

On peut combiner les 2 options. Par exemple, si les utilisateurs ont tous le groupe “users” en commun (comme dans l'opensuse) avec, par exemple gid=1000, la ligne:

/dev/sda1 /media/partwin vfat user,gid=1000,umask=0002 0 0

affectera la partition à “root:users” et donnera le droit de lecture et d'écriture à tous les utilisateurs (mais pas au “reste du monde”).

En utilisant le paramètre "noauto"

Cette fois, le montage ne sera pas fait au boot ni avec “mount -a” (en console sous root), mais à la demande:

- En mode graphique, il suffit de faire apparaitre les partitions (montées ou non) et de cliquer sur celle qu'on veut monter. Avec la suse sous KDE, c'est l'icône “poste de travail” qui correspond au protocole “sysinfo:/” (protocole qu'on met comme adresse dans konqueror). On peut aussi utiliser le protocole “media:/”. Avec la debian etch sous KDE, c'est le protocole “media:/”. Pour démonter, on utilise le clic droit sur la ligne de la partition montée pour choisir “démonter” dans le menu qui s'affiche.

- En console sous root, il suffit de faire, par exemple:

# mount /media/partwin

ou:

# mount /dev/sda1  

Dans ces cas, linux ira chercher les instructions de montage disponibles dans /etc/fstab.

La ligne de montage dans fstab pourra être (comme pour les lignes “auto”):

/dev/sda1 /media/partwin vfat noauto,user,umask=0000 0 0  

ou, pour affecter la partition à l'utilisateur 1000, groupe 100:

/dev/sda1 /media/partwin vfat noauto,user,uid=1000,gid=100 0 0  

Ou, en utilisant en même temps uid et umask:

/dev/sda1 /media/partwin vfat noauto,user,uid=1000,gid=100,umask=0000 0 0  


Voilà, c'est fait: vous savez désormais comment monter une partition FAT32 pour partager des données en lecture-écriture avec Windows.

montage_vfat.txt · Dernière modification: 2007/12/15 09:22 par tyrtamos

Outils de la page