Outils pour utilisateurs

Outils du site


montage_ntfs

Montage des partitions NTFS pour lecture de données windows

NB: le pilote normal “ntfs” ne permet pas d'écrire sur une partition NTFS à partir de linux. Si vous voulez écrire, il faut utiliser le pilote “ntfs-3g” (tuto sur une page dédié de ce site).

Références

  • page man de “mount” en console, ou protocole man sous konqueror (faire “man:/mount”)
  • page man de “fstab” en console, ou protocole man sous konqueror (faire “man:/fstab”)

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 info complète: 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 NTFS pour lecture de données 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 NTFS de Windows 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 ntfs 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: mais en fait, personne ne pourra écrire sur une partition ntfs, même pas root!
  • suid: —> possibilité de tenir compte du bit set-uid et set-gid des fichiers (mais ntfs n'en a pas!)
  • dev: —> interpréter les fichiers spéciaux de périphérique /dev (mais ntfs n'en a pas!)
  • exec: —> possibilité d'exécuter des programmes binaires (pas souhaitable sur du ntfs)
  • 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 (mais pas écrire à cause du “ntfs”!), 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: par exemple utf8.

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 ntfs user,umask=0222,utf8 0 0

Ce qui donnera à tous le droit de lecture, 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 ntfs user,uid=1000,gid=100,utf8 0 0

Ce qui donnera à l'utilisateur ayant l'uid=1000, et à lui seul, le droit de lecture

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 ntfs user,gid=1000,umask=0227,utf8 0 0

attribuera tous les fichiers à root:users et donnera le droit de lecture à tous les utilisateurs (groupe users), 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 ntfs noauto,user,umask=0222,utf8 0 0  

ou, pour affecter la partition à l'utilisateur uid=1000, groupe gid=100 (avec des droits “rwx——” par defaut):

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

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

/dev/sda1 /media/partwin ntfs noauto,user,uid=1000,gid=100,umask=0222,utf8 0 0  


Voilà, c'est fait: vous savez désormais comment monter une partition ntfs pour lire les partitions de Windows.

montage_ntfs.txt · Dernière modification: 2007/12/15 09:23 par tyrtamos

Outils de la page