Aller au contenu

[Tutoriel] Fstab ou la gestion des FS.


-rem-

Messages recommandés

Par abus de langage, lorsque je parlerai de fstab je désignerai le fichier /etc/fstab

1 Présentation

1.1 Rôle

Le rôle du fichier /etc/fstab est d'indiquer au système d'exploitation les systèmes de fichiers que le système peut être amener à manipuler. Bien entendu on peut monter des systèmes de fichiers alors qu'ils ne sont pas définis dans ce fichier, mais dans ce cas seul root sera autorisé à le faire, pour la plupart des configurations standard. C'est d'ailleurs une question de sécurité, et qui fait qu'actuellement beaucoup d'entreprises ont des problèmes internes avec leurs employés qui ramenent les virus windaube de chez eux sur une clef usb au bureau, involontairement bien sur dans la majorité des cas.

Donc, retenons que cela précise au système les "partitions" ( en fait, ce sont les systèmes de fichiers - FS en us - présents sur les partitions qui sont montées, mais bon, passons ) qui sont montées par le système, automatique ou non, les options d'accès à ces systèmes de fichiers etc...

1.2 Localité exacte du fichier

Quelle que soit la distribution utilisée, c'est le noyau linux qui utilise fstab, donc l'emplacement et le nom est commun, tout comme sa syntaxe. Il se peut ceendant qu'il y ait quelques variantes sur certaines ditributions friendly users aux noyaux sur-patchés Ce fichier [critique] est /etc/fstab .

1.3 Qui peut accéder à /etc/fstab

Dans le sens où c'est un fichier critique du système, permettant notament de modifier l'accès à certaines partitions sécurisées du système ou même des partitions critiques pour le système, seul root peut modifier ce fichier en écriture.

En revanche les autres utilisateurs peuvent lire fstab, car :

:yes: si un utilisateur ne peut lire fstab, il ne peut rien monter !

:transpi: Il ne peut rien modifier et donc si la sécurité est bien faite, cela ne lui apporte rien*

Retenons donc qu'on y accède sous le compte root principalement, et qu'il ne faut absolument pas changer les droits sur /etc/fstab ou les étendre.

2 On mets les mains dans le cambouis ?

2.1 Syntaxe

Fstab est un fichier comprennant 6 colonnes, et une ligne par système de fichier que l'on veut gérer, partitions systèmes et swap compris. Chaque colonne est séparée par un blanc ( espace ou tabulation, peut importe ) mais par propreté et convention, on utilise une tabulation pour avoir un alignement propre des colonnes.

2.2 Les différents champs

:transpi: Champ 1 : Partition

Le premier champ représente la partition sur laquelle le système de fichiers est installé, et que l'on désire monter. Par exemple, si vous avez utilisé la première partition de votre disque dur IDE maitre, cela correspond à /dev/hda. C'est le chemin d'accès, le pointeur ou la référence qui désigne l'endroit physique des données.

-> Pour les utilisateurs un peu plus pointus, on peut gérer NFS ici. La syntaxe devient alors :

nom_machine:chemin d'accès ( sephiroth:/dev/hdb8 par exemple ) et le nom de la machine doit evidemment etre résolvable par DNS ( /etc/resolv.conf ) ou directement une @ip.

:breton: Champ 2 : Point de mointage

Ici, on désigne la référence utilisé par le système, les utilisateurs et la plupart des logiciels pour accéder au système de fichier monté. Dans notre exemple précédent, cela correspond à "/". Notons que le point de montage doit exister, sinon on ne pourra pas monter le système de fichier. Attention donc à cette source d'erreur plutôt courante chez les débutants, d'autant plus que les droits appliqués seront ceux du répertoire ( point de montage ) créé justement.

-> Remarque : Le point de montage de swap est... swap.

:xzombi: Champ 3 : Type de système de fichier

Il faut que le noyau connaisse le type de système de fichier utilisé pour pouvoir le lire bien sur ! Nous sommes gentils, nous allors le préciser, mais nous verrons par la suite qu'on peut le lui faire deviner, ce qui est bien utile pour les médias amovibles. Les types supportés et leur nom sont donnés avec man fstab, mais nous pouvons préciser les plus classiques :

-> ext2, ext3, reiserfs, vfat ( partitions FAT M$ ) , ntfs ...sans oublier swap !

Pour le typage automatique, on peut tenter le autofs, mais c'est uniquement intéressant pour les cdrom, clefs usb etc...Dans ce cas, le type est autofs

:arrow: Champ 4 : Options de montage

Séparées par des virgules ',' nous pouvons ici préciser les options de montage désirées, et cela est loin d'être optionnel ! Cela permet par exemple de gérer qui à le droit de monter les partitions, et la manière de les monter. Nommons les plus courantes :

-> ro ( read only ) Cela est indispensable pour les lecteurs ROM ( CD et DVD ), mais on peut aussi l'utiliser si on veut juste laisser une partition en lecture par exemple.

-> user On autorise alors les utilisateurs à monter cette partition, sinon, seul root pourra le faire.

-> noauto Le noyau ne montera pas ces FS lors du boot, tout simplement parce qu'on en a envie, ou qu'on y est contraints ( les lecteurs cdrom ou réseaux par exemple ). C'est générallement utilisé pour les cdrom/dvdrom avec l'option "ro" et "user".

-> pri permet de définir une priorité dans l'utilisation de ces partitions, nous verrons cela un peu plus tard avec la simulation d'un raid 0 software sur la swap ( round robin ).

-> noatime Les temps d'accès au système de fichier ne sont pas consignés, cela augmente donc le temps d'accès aux fichiers lus/ecrits. C'est générallement une bonne option pour les partitions système.

-> notail augmente les performances sur les paritions de type reiserfs. Utilisant beaucoup reiserfs, je vous la recommende. Notons qu'elle peut parfois etre incompatible avec l'option précédente.

-> umask permet de spécifier les droits des utilisateurs sur cette partition. C'est de type umask=022 par exemple, en fait, c'est 777 - umask = droits. Donc 777-022 = 755 = rwxr-x-r-x par exemple, soit tout pour le proprio, lecture et execution pour le groupe et les autres

-> noexec empeche l'execution de binaires sur la parition en question, par défaut c'est l'inverse ( exec ) qui est utilisé.

-> Concernant les options spécifiques NFS, cela sort du cadre de ce topic qui s'adresse esentiellement à des utilisateurs débutants. Toutefois, cela est intéressant, et pas forcément évident du fait des différentses versions de NFS utilisées etc... et pourrait sans aucun probleme constituer un tutoriel à part entiere. Qui sait, peut etre une prochaine fois sur pci, signé rem ou un autre ( Sandeman ? :theo: ) ? Notons enfin que plusieurs options sont possibles pour empecher certains utilisations ( comme noexec par exemple ) et vous pourrez les consulter grâce à man mount.

:arrow: Champ 5 : Dump

Ce champ peut prendre les valeurs 0 ou 1, et permet de déterminer sur le système de fichier doit être purgé ou non. Générallement, les partitions ont une valeur nulle par défaut ( donc pas de purge ) et à part pour un besoin vraiment particulier, je vous conseille de les laisser ainsi.

:linux: Champ 6 : Ordre de vérification

Lorsque le système reboot violamment, pour une raison X ou Y, il est parfois nécessaire de vérifier l'intégrité des systèmes de fichiers. D'ailleurs, les utilisateurs de système M$ connaissent par coeur cette phrase, sur fond bleu générallement.Cela est donc un ordre, avec la nuance que 0 n'est pas le premier systeme de fichier à etre vérifier mais qu'il ne le sera pas du tout. Ce n'est pas forcément judicieux mais si vous etes confiant en votre système de fichier, et que son type est robuste ( reiserFs par exemple ) vous pouvez vous en passez. Et quand ca sera cassé de toutes manieres, vous aurez à lancer manuellement la vérification.

3 Et après, comment ca fonctionne ?

3.1 Fonctionnement

Eh bien c'est fini, il suffit juste de sauver avec son éditeur préféré, 'ZZ' pour ceux qui ont bon goût :yes:

C'est un fichier système, il sera donc lu au reboot, pour les montages automatiques de partitions ou lorsque quelqu'un tapera une commande mount. Voila comment cela se déroule, chronologiquement :

1. Vérification des systèmes de fichiers qui le necessitent, dans l'ordre chronolique

2. Montage des FS selon les options de fstab, pour les systemes de fichiers à monter automatiquement

3. Un utilisateur tape une commande mount, le fichier fstab est lu :

-> Le système de fichiers à monter n'est pas présent dans fstab, message indiquant que seul root peut monter cela.

-> Le système de fichiers à monter est présent dans fstab, mais l'option "user" n'est pas précisé, ou "nouser" est précisé : permission non accordée

-> Le système de fichiers à monter est présent dans fstab et l'option user est présente : la partition est montée, pour l'utilisateur, dans la limite de ses droits.

-> Le système de fichiers à monter est déjà monté : abandon

4. root peut monter un autre type de fichier, avec mount ... meme si un systeme de fichiers n'est pas présent dans fstab.

3.2 Un exemple de fichier fstab

# /etc/fstab: static file system information.

#

# <file system> <mount point>  <type>  <options>              <dump>  <pass>

/dev/sda1      /boot          ext3    noatime        0      0

/dev/md0        /              reiserfs        notail,noatime  0      0

/dev/md2        /data          reiserfs        notail,noatime  0      0

sephiroth:/dev/hda11 /divers        nfs    user,noauto    0      0

sephiroth:/dev/hda9  /www            nfs    user,noauto    0      0

/dev/hdc        /cdrom          iso9660 ro,user,noauto          0      0

/dev/hdd        /dvd            iso9660 ro,user,noauto          0      0

/dev/sda6              swap            swap            defaults,pri=1  0      0

/dev/sdb6              swap            swap            defaults,pri=1  0      0

/dev/hdb1      /windows        vfat    user,noauto            0      2

none            /proc                    proc            defaults  0  0

usbdevfs        /proc/bus/usb            usbdevfs        defaults  0  0

3.2 Un exemple de montage manuel

mount /cdrom reviendra à monter le système de fichiers /dev/hdc dans le "répertoire" ( fichier serait plus exacte mais n'embrouillons pas les débutants ) /cdrom en lecture seule. Lorsque l'on voudra retirer le cd, il faudra au préalable démonter le système de fichiers proprement, avec umount /cdrom .

Cela reviendrait à utiliser la commande ( root , pas d'entrée fstab requise ) :

Enfin, pour voir la liste de partitions montées : mount

mount -t iso9660 /dev/hdc /cdrom -o ro

3.3 C'est Noel... swap swap swap !!!

Une astuce, pour simuler un raid 0 logiciel sur la swap est de définir plusieurs partitions de swap, sur des disques durs physiques différents. Je rappelle que le raid 0 consiste à répartir l'écriture d'un fichier sur plusieurs disques durs différents, afin de multiplier les vitesses de lecture ou d'écriture, mais cela ne peut se faire sur le swap. Du moins, on ne peut les fusionner en un /dev/xxx, on va donc simuler ce comportement. Il faut bien entendu créer les partitions, avec cfidsk/fdisk dans un premier temps, on les initialise par la suite avec mkswap /dev/xxx et ce pour chaque partition créée. On doit ensuite activer le swap sur ces partitions, avec swapon /dev/xxx pour chaque partition initialisée. Et c'est la qu'intervient fstab, car c'est bien gentil d'avoir plusieurs partitions de swap, mais dans quelle ordre vont elles etre remplies ? Eh bien, il faut leur accorder une priorité équivalente, avec pri=1 dans les options. On peut meme en fait plusieurs, par exemple :

J'ai 2 partititons assez petites sur des disques durs rapides, que je mets en priorité 1. Un round robin sera fait sur les deux ( un fichier est découpé en plusieurs et une partie sera placé sur une partition swap, l'autre partie sur l'autre partition puis à nouveau sur la première etc... ). Et je pourrais très bien avoir un disque plus lent, mais tres gros, sur lequel je pourrais définir une grosse partition swap de secours, avec une priorité de 2. Si jamais mes 2 petites partitions de swap sont pleines, on passera alors sur la grosse. Je vous laisse imaginer toutes les combinaisons et stratégies possibes, et pour la beauté de la chose ( simulation de raid logiciel sur le swap ) vous avez le droit de vous dire Putain Linux c'est vraiment puissant ! .

Bon, voilà pour un premier jet assez vite fait, cause samedi soir, comme d'habitude j'attends vos remarques constructives, afin de préciser ce qui vous parait confus, d'appronfondir certains points qui vous intéressent ( dans la limite de mes compétences bien entendu, et de ma volonté de recherche aussi, déjà moins limitée ). Je ferai évoluer ce topic pour d'éventuels approfondiseement si l'envie générale s'en fait sentir, et si je trouve que j'ai oublié des notions intéressantes.

* Saut ce qu'il faut pirater avec un liveCd.

Lien vers le commentaire
Partager sur d’autres sites

bon bon bon :

/dev/md0 / reiserfs notail,noatime 0 0

/dev/md2 /data reiserfs notail,noatime 0 0

c'est du raid ca non ? le md0 .... en raid 0 ?

ca fait que tu as une architecture dans ce gout la :

disque 1 (master sur IDE1) partitions

hda hda1,2,3

regions qui forment par ex ton md0

(hda2,hdb2)

disque2 (slave sur IDE1) partitions

hdb hdb1,2,3

et ton dev/md0 un " logical volume " qui constitue un object de stockage pouvant etre monter ... c'est ca ?

question con : ta expliqué comment a ton linux que c'était par exemple que hda2 et hdb2 qui fallait qu'il fallait qu'il prenne en logical volume ?

Lien vers le commentaire
Partager sur d’autres sites

On change de sujet mon amis, c'est du raid qu'il s'agit la, et non pas de fstab.

Sinon, pour clore le sujet ( ouvre un autre topic si tu as envie de parler d'autre chose que fstab ) c'est bien un raid 0 sur des disques durs S-ATA IBM, et ca dépote.

Et au passage, je les gere sur 4 disques.

Lien vers le commentaire
Partager sur d’autres sites

Coucou

Très interessant rem comme d'hab en somme :craint:

Mais j'ai besoin de ton aide, voila, je tourne sur une Fedora Core 3 ( Et mandrake X.1 sur l'autre pc) mais je n'arrive pas à monter mes partition, j'ai modifier le fichier Fstab grâce à ce petit tuto bien fait, mais il me dit point de montage non existant

Voici les message exacte d'une de mes partition

Called: mount -tvfat -ouser, /dev/hda5 /mnt/Soft120

mount: mount point /mnt/Soft120 does not exist

Lien vers le commentaire
Partager sur d’autres sites

Coucou

Très interessant rem comme d'hab en somme :-D

Mais j'ai besoin de ton aide, voila, je tourne sur une Fedora Core 3 ( Et mandrake X.1 sur l'autre pc) mais je n'arrive pas à monter mes partition, j'ai modifier le fichier Fstab grâce à ce petit tuto bien fait, mais il me dit point de montage non existant

Voici les message exacte d'une de mes partition

En root :

mkdir /mnt/Soft120

ensuite mount -tvfat -ouser, /dev/hda5 /mnt/Soft120, et ca devrai marcher :craint:

Lien vers le commentaire
Partager sur d’autres sites

:zarb: Ca fonctionne pour ma partition Fat, premier bon pas :craint:

Par contre pour mes partitions en NTFS, c'est plus chaud, je sais que je ne peux pas écrire dessus, mais j'en ai besoin juste en lecture ( partition fat prevue pour les échanges entre les 2 os du pc)

je vous met l'erreur ainsi que mon fichier fstab modifer à l'aide de ce tuto

# This file is edited by fstab-sync - see 'man fstab-sync' for details

LABEL=/                /                      ext3    defaults        1 1

none                    /dev/pts                devpts  gid=5,mode=620  0 0

none                    /dev/shm                tmpfs  defaults        0 0

LABEL=/home            /home                  ext3    defaults        1 2

none                    /proc                  proc    defaults        0 0

none                    /sys                    sysfs  defaults        0 0

LABEL=SWAP-hda9        swap                    swap    defaults        0 0

/dev/hda1  /mnt/Win120  ntfs user, noexec 0 0

/dev/hda5  /mnt/Soft120  vfat user, noexec, umask 777 0 0

/dev/hda6  /mnt/Data120  ntfs user, umask 775 0 0

/dev/hdb1  /mnt/Temp  ntfs user, umask 775 0 0

/dev/hdb5  /mnt/Documents  ntfs user, umask 775 0 0

/dev/hdd                /media/cdrom            auto    pamconsole,fscontext=system_u:object_r:removable_t,ro,exec,noauto,managed 0 0

/dev/hdc                /media/cdrecorder      auto    pamconsole,fscontext=system_u:object_r:removable_t,ro,exec,noauto,managed 0 0

/dev/scd0              /media/cdrecorder1      auto    pamconsole,fscontext=system_u:object_r:removable_t,ro,exec,noauto,managed 0 0

/dev/fd0                /media/floppy          auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0

Called: mount: -tntfs -ouser, /dev/hdb1 /mnt/Temp

mount: fs type ntfs not supported by kernel

Voila merci de votre aide :-D

Lien vers le commentaire
Partager sur d’autres sites

question bête, si j'ai deux partitions swap de taille différente, le RAID0 logiciel peut-il tout de même fonctionner :

-oui, uniquement de la taille de la partition la plus faible x2

-oui, de la taille de la partition la plus faible x2 plus du restant de la partition plus grande

-non

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...