Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fstab [Le 13/09/2009, 11:54] – page mount_fstab plus adéquat comme nom YoBoYfstab [Le 16/04/2026, 08:34] (Version actuelle) – réorganisation (déplacement note gnome disque) krodelabestiole
Ligne 1: Ligne 1:
-~~REDIRECT>:mount_fstab~~+{{tag>administration système partitions montage}} 
 + 
 +====== Fichier /etc/fstab ====== 
 + 
 +Quand une clé USB est connectée, elle est normalement [[:montage|montée]] automatiquement. //Idem// évidemment pour la partition sur laquelle se trouve le [[:système]] qu'on vient de démarrer. Par contre, les autres partitions du disque ne seront pas montées automatiquement.\\ 
 +Il suffit généralement de [[:montage#gnome_fichiers|cliquer dessus avec le gestionnaire de fichiers]] ([[:nautilus|GNOME Fichiers]]), mais il peut aussi être intéressant de monter automatiquement ces partitions. Il peut aussi être intéressant de spécifier des [[:montage#options de montage]] (mettre une partition en lecture seule, par exemple). 
 + 
 +Les montages automatiques (au démarrage) sont définis dans le fichier ''/etc/fstab''. Ce fichier peut être modifié soit manuellement, soit automatiquement (le logiciel de référence étant [[:gnome-disk-utility|GNOME Disques]], installé par défaut sur Ubuntu). 
 + 
 +Cette page traite principalement de son édition //manuelle//
 + 
 +Si nécessaire, voir aussi les pages //[[:Montage]]//, //[[:systeme_de_fichiers|Systèmes de fichiers]]//, et //[[:Partitions]]//
 + 
 +<note warning> 
 +Manipuler les fichiers système (et en particulier ''/etc/fstab'') est **//dangereux//**. Ne le faites pas si vous ne maîtrisez pas techniquement le sujet. 
 + 
 +Les [[:montage#interface_graphique1|interfaces graphiques]] sont beaucoup plus intuitives et évitent les erreurs. 
 + 
 +Il est dans tous les cas préférable de sauvegarder votre fichier ''/etc/fstab'' avant manipulation. 
 +</note> 
 + 
 +===== Édition ===== 
 + 
 +<note tip> 
 +L'utilitaire graphique [[:gnome-disk-utility|GNOME Disques]] est présent par défaut sur Ubuntu, et il permet de gérer le fichier ''/etc/fstab'' de manière fiable sans avoir à l'éditer manuellement ! 
 + 
 +Pour chaque espace de stockage ([[:partitions|partition]]) concerné, cliquer sur l'icône //Options de partition supplémentaires// -> //Modifier les options de montage...//\\ 
 +L'option //Monter au démarrage du système// aura pour effet d'ajouter une entrée correspondante dans ''/etc/fstab''
 + 
 +Ceci est très utile après avoir ajouté un [[:disque dur]] ou un [[:SSD]] à son ordinateur, ou d'une manière générale après la création d'une nouvelle [[:partitions|partition]]. 
 + 
 +Pour en savoir plus, voir les chapitres //[[:montage#GNOME Disques]]// et //[[:gnome-disk-utility#Monter une partition automatiquement au démarrage]]//
 +</note> 
 + 
 +Pour éditer //manuellement// le fichier ''[[:fstab|/etc/fstab]]'' avec les [[:permissions administrateur]] (requiert le mot de passe), il existe deux possibilités : 
 +  * utiliser un éditeur de texte "graphique" qui propose un [[:elevation_privileges#gnome_fichiers_et_gedit|mode administrateur]], par exemple : 
 +    * avec l'éditeur de texte par défaut depuis la version [[:kinetic|Kinetic 22.10]] de Ubuntu ([[:GNOME]]) :<code>gted admin:///etc/fstab</code> 
 +    * ou (pour les versions d'Ubuntu antérieures) :<code>gedit admin:///etc/fstab</code> 
 +  * ou avec un éditeur de texte en mode [[:terminal|console]] :<code>sudoedit /etc/fstab</code>qui sous ×buntu équivaut à :<code>sudo nano /etc/fstab</code> 
 + 
 +===== Désignation des supports de stockage ===== 
 + 
 +Pour monter une partition, il faut connaître son [[:partitions#regle_de_denomination|identifiant]], son [[:partitions#labels|label]], ou son [[:partitions#UUID]]. 
 + 
 +<note important> 
 +Voir le chapitre //[[:partitions#Désignation des partitions sur Ubuntu]]// pour plus d'information à ce sujet. 
 +</note> 
 + 
 +''/etc/fstab'' (et la commande ''[[:mount]]'') permettent aussi de [[:montage|monter]] des [[:partage|partages]] [[:réseau]], //[[:cloud]]//, etc. 
 + 
 +<note tip> 
 +Pour plus d'information à ce sujet, voir le chapitre //[[:partage#Partage de fichiers]]//, et en particulier le [[:rclone#montage|montage avec rclone]]. 
 +</note> 
 + 
 +===== Contenu du fichier fstab ===== 
 + 
 +Le fichier ''/etc/fstab'' liste les [[:partitions]] qui seront [[:montage|montées]] automatiquement au démarrage ou à la connexion du périphérique, avec toujours les mêmes options. 
 + 
 +Il est composé de plusieurs lignes décrivant chacune les conditions de montage de chaque [[:partitions|partition]] / [[:système de fichiers]]. 
 +Le fichier ''/etc/fstab'' est créé lors de l'installation, avec le montage de la partition principale ([[:système]]), et de la [[:swap]]. Mais on peut y ajouter manuellement des partitions supplémentaires, qui seront alors automatiquement lues par le système au démarrage. 
 + 
 +<note important> 
 +Si le nom d'un point de montage contient un espace, cet espace doit être remplacé dans ''/etc/fstab'' par ''\040''
 +</note> 
 + 
 +==== Les bases ==== 
 + 
 +Le fichier ''/etc/fstab'' suivant résume une configuration classique : 
 +<file> 
 +# /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> 
 +# / was on /dev/sda7 during installation 
 +UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb    /               ext4    errors=remount-ro 0     1 
 +# /boot was on /dev/sda5 during installation 
 +/dev/sda5                                    /boot           ext2    defaults          0       2 
 +# /musique was on /dev/sda8 during installation 
 +LABEL=ma-musique                             /musique        ext4    defaults          0       2 
 +# swap was on /dev/sda6 during installation 
 +UUID=2c442228-1991-48c7-bad9-a80dfc8267cf    none            swap    sw                0       0 
 +</file> 
 +Ici, la partition [[:système]] est ''/dev/sda7'', et le [[:swap]] est ''/dev/sda6''. Ces lignes ont été créées par l'installateur. Les partitions additionnelles montées sont ''/dev/sda5'' et ''/dev/sda8'', et ont été ajoutées à la main. 
 +  - la colonne ''<file system>'' indique la partition elle-même. Il y a plusieurs solutions, mais les 4 principales sont : 
 +    * l%%'%%''[[:partitions#UUID]]'' ([[https://fr.wikipedia.org/wiki/Universal_Unique_Identifier|Universal Unique Identifier]]) de la partition. Celle-ci sera obtenue via un ''sudo blkid'', via [[:gnome-disk-utility|GNOME Disques]], ou via [[:GParted]]. Un UUID ressemble à cela ''UUID=2c442228-1991-48c7-bad9-a80dfc8267cf''
 +    * La référence directe à la partition sous la forme ''/dev/sda2'' ou ''/dev/sdb2'' (''dev'' signifie //appareil//, ''sd'' signifie connexion [[:ssd#formats_et_connexions|SATA]], la lettre est le numéro de connexion, et le numéro est celui de la partition. ''/dev/sdb2'' est donc la 2e partition du 2e support SATA). Inconvénient de cette méthode : si vous changez le 1er support de démarrage dans le BIOS, la signification de ''/dev/sdb2'' (par exemple) changera en même temps. L'[[:partitions#UUID]] est donc un identifiant plus stable et plus sûr. 
 +    * Le **[[:partitions#labels|label]]** de la partition à monter. On peut en effet donner un nom ([[:partitions#labels|label]], ou étiquette) à une partition, même si ce n'est pas obligatoire. Dans ce cas, l'identifiant de la colonne ''<file system>'' prendra la forme ''LABEL=nom-partition'', où ''nom-partition'' est à remplacer par le [[:partitions#labels|label]] réel. 
 +    * l'**[[reseau#lexique|adresse IP]]** du serveur de stockage [[:réseau]], collée au nom du répertoire qui s'y trouve et qu'on souhaite monter : ''192.168.7.12/rep_a_partager''. Dans ce cas, l'identifiant de la colonne ''<file system>'' prendra la forme ''CIFS'' (il s'agit du protocole SMB). 
 +  - la colonne ''<mount point>'' indique un répertoire quelconque sur la partition principale, et qui servira de point de montage. Pour la partition principale elle-même, c'est évidemment ''/'' (la racine). Pour une partition montée additionnelle, on choisit en général (ce n'est pas un emplacement obligatoire) un répertoire ''/mnt/xxx'' (où ''xxx'' est le nom que vous choisissez pour la partition de montage). Vous devez créer manuellement cette partition de montage //une fois pour toutes// par un ''sudo mkdir /mnt/xxx''. Laissez-la vide, et n'y touchez plus jamais. Elle sert juste de [[:montage#choix_du_point_de_montage|point de montage]] au ''fstab'' pour son montage. 
 +  - La colonne ''<type>'' donne le type de [[:système de fichiers]] de la partition montée. Pour une partition Linux, c'est souvent ''[[:ext4]]''. Voir le chapitre //[[:mount#Format de la partition]]// pour plus d'informations à ce sujet. Des valeurs spécifiques sont aussi possibles : 
 +    * On peut généralement utiliser ''auto'' et laisser l'ordinateur détecter le format de fichiers. 
 +    * Le type ''bind'' permet de monter un répertoire sur un autre (voir //[[:montage#Bind mount]]//). 
 +    * ''ignore'' rend le volume "invisible" (voir //[[#Masquer le montage d'une partition]]//). 
 +  - La colonne ''<option>'' permet de choisir des [[:montage#options de montage]]. Sauf si vous êtes un expert, laissez ''defaults'' pour une partition ajoutée par vous au montage. Il en existe beaucoup d'autres (voir le chapitre //[[:montage#Options de montage]]//), mais celle-ci suffit la plupart du temps. 
 +  - la colonne ''<dump>'' règle les sauvegardes via l'utilitaire ''[[:dump]]''. La valeur classique est ''0'' (dump est obsolète). 
 +  - la colonne ''<pass>'' règle la priorité de vérification (avec l'utilitaire [[:fsck]]) des erreurs éventuelles du système de fichiers au démarrage. Laissez-y les valeurs par défaut de l'installation. Si vous ajoutez manuellement des partitions, les valeurs de ''<pass>'' peuvent être : 
 +     * ''1'' pour la partition [[:système]] (montée à la [[:arborescence#racine]] ''/'') => vérification prioritaire de cette partition 
 +     * ''2'' pour les autres partitions Linux (les partitions //locales// tierces que vous souhaitez monter) => ce ''2'' fera les vérifications //après// la partition racine (ce qui rend le démarrage plus rapide) 
 +     * ''0'' pour le [[:swap]], les partitions Windows (cf. [[man>fstab]]), et les stockages [[:réseau]] => pas de vérification. 
 + 
 +=== Exemples === 
 + 
 +Par exemple une ligne ''fstab'' type pour un montage d'une partition Linux [[:ext4]] sera : 
 +  * <file>/dev/sdb1                                  /mnt/stock      ext4     defaults         2</file> 
 +  * ou mieux (l'[[:partitions#UUID]] est plus fiable) :<file>UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb  /mnt/stock      ext4     defaults         2</file> 
 +  * ou encore mieux (un [[:partitions#labels|label]] est plus éloquent) :<file>LABEL=stock                                /mnt/stock      ext4     defaults         2</file> 
 +Ces 3 exemples [[:montage|montent]] pareillement et automatiquement la première (''1'') partition, nommée //stock//, du 2e support (''b'') connecté en [[:ssd#formats_et_connexions|SATA]] (''sd''). 
 + 
 +Autre exemple, celui d'un partage réseau (protocole [[:SMB]]) nommé ''partage'', accessible à l'adresse IP ''192.168.1.10'', grâce à [[:smb#CIFS VFS]] : 
 +<file>//192.168.1.10/partage                          /mnt/partage    cifs     _netdev,guest,uid=1000,iocharset=utf8  0  0</file> 
 +(''0'' et non ''2'' pour la dernière position, car il s'agit d'un [[:partage]] [[:réseau]]). 
 +<note tip>Pour les stockages réseau, voir aussi //[[:rclone#Montage]]//.</note> 
 + 
 +=== Point de montage === 
 + 
 +Dans tous les cas, il ne faut pas oublier de créer le [[:montage#choix_du_point_de_montage|point de montage]] par exemple pour ''/mnt%%/%%//stock//''
 +  sudo mkdir /mnt/stock 
 +(remplacer ''//stock//'' par le nom qui convient). 
 + 
 +=== Validation === 
 + 
 +Lorsqu'un système de fichiers (partition) est présent dans le fichier ''/etc/fstab'', il est monté automatiquement au démarrage de la machine.\\ 
 +Les utilisateurs peuvent également le démonter manuellement (''[[man>umount]]'') ou le re-monter (''mount /mnt%%/%%//xxx//'', où ''//xxx//'' est le nom de votre répertoire de montage). 
 + 
 +Quand vous avez fini d'éditer le fichier ''/etc/fstab'', vous pouvez le tester sans redémarrer votre PC, via un : 
 +  sudo mount -a 
 +Cette commande interprète le ''fstab'' comme si votre machine venait de démarrer. C'est plus rapide pour tester différentes configurations. 
 + 
 +<note tip>La commande ''[[:mount]]'' seule permet de lister les volumes montés.</note> 
 + 
 +==== Options ==== 
 + 
 +Les options disponibles pour la colonne ''<option>'' du fichier doivent être séparées par une virgule '','' sans espace, et permettent une utilisation avancée du système. 
 + 
 +<note important> 
 +Les options sont communes à la commande ''[[:mount]]'' et à d'autres méthodes de [[:montage]]. Elles sont donc listées dans le chapitre //[[:montage#Options de montage]]//
 +</note> 
 + 
 +==== Masquer le montage d'une partition ==== 
 + 
 +Dans certains [[https://forum.ubuntu-fr.org/viewtopic.php?id=2036205|contextes]], il peut être intéressant de ne pas monter une partition et de la masquer aux techniques de montage en mode graphique, en indiquant ''ignore'' comme ''<type>''. Ceci n'exclut pas la possibilité de [[:montage]] manuel avec d'autres méthodes. 
 + 
 +Par exemple, pour masquer la partition contenant le système Windows, les deux lignes à ajouter pourraient être 
 +<file> 
 +##   Masquer le montage de la partition Windows qui est sur /dev/sda5 
 +/dev/sda5 none ignore defaults 0 0 
 +</file> 
 + 
 +===== Le fichier mtab ===== 
 + 
 +Le fichier ''/etc/mtab'' contient la liste des supports [[:montage|montés]], que ce soit via ''/etc/fstab'', automatiquement par le [[:environnements|bureau]], avec la commande ''[[:mount]]'', ou autres méthodes. Il peut être utile de visualiser son contenu pour vérifier qu'un montage est effectif. 
 + 
 +Mieux encore, il peut servir de base, après un test avec ''[[:mount]]'', pour modifier le fichier ''fstab''.\\ 
 +À ce sujet, voir le tutoriel //[[:tutoriel:monter_un_volume_automatiquement|Monter un volume automatiquement]]//
 + 
 +===== Problèmes courants ===== 
 + 
 +<note tip> 
 +Voir aussi la section //[[:montage#Problèmes courants]]// de la page concernant le montage en général. 
 +</note> 
 + 
 +==== UUID non valides ==== 
 + 
 +Le fichier ''/etc/fstab'' peut vouloir monter des partitions avec des erreurs dans les identifiants [[:partitions#UUID]]. 
 + 
 +Ce script permet de vérifier que tous les [[:partitions#UUID]] sont correctes dans le ''fstab''
 + 
 +<file bash monfic.sh> 
 +#!/bin/sh 
 + 
 +fstabUUID="$(sed -nE 's/UUID=([^ ]+) .*/\1/p' /etc/fstab)" 
 +validUUID="$(ls -1 /dev/disk/by-uuid)" 
 + 
 +nbUUIDValid=0 
 + 
 +for uuid in $fstabUUID 
 +do 
 + if echo "$validUUID" | grep -q "$uuid" 
 + then 
 + echo "$uuid OK" 
 + nbUUIDValid=$((nbUUIDValid+1)) 
 + else 
 + echo "$uuid est dans fstab mais pas dans /dev/disk/by-uuid" 
 + fi 
 +done 
 + 
 +echo "nombre d'UUID dans fstab : $(echo "$fstabUUID" | wc -l)" 
 +echo "nombre d'UUID validé(s) : $nbUUIDValid" 
 +</file> 
 + 
 +==== Permissions ==== 
 + 
 +Une fois que la partition du support supplémentaire est ainsi ajoutée dans le fichier ''/etc/fstab''
 +<file># /dev/sdb1 sur /mnt/sauvegarde 
 +UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  /mnt/sauvegarde  ext4  rw,suid,dev,noexec,auto,nouser,async,noatime  0  2</file> 
 +et son point de montage créé : 
 +<code>sudo mkdir /mnt/sauvegarde</code> 
 +Comme ce dernier appartient à ''root'', aucun autre [[:utilisateur]] n'a le droit d'y écrire. 
 + 
 +On peut se rendre //propriétaire// du point de montage - sachant que par conséquent seul cet utilisateur aura le droit d'écrire dans //toute// cette partition. 
 +<note warning>Le répertoire qui sert de point de montage à une partition appartient par défaut à ''root:root'' avec droits ''rwxr-xr-x'' (ou ''755'') car il s'agit d'un élément //matériel// (une [[:partitions|partition]]) géré par le //système//.\\ 
 +\\ 
 +C'est sur les éléments de //données// écrits dans cette partition qu'il faut ajuster les droits et permissions afin de les adapter à votre utilisation : 
 +  * soit **sur les éléments eux-mêmes** pour les systèmes de fichiers UNIX - compatibles Linux (qui gèrent les droits et permissions nativement) 
 +  * soit sur l'ensemble des données montées, **via les options appliquées à leur montage**, pour les systèmes de fichiers **NON UNIX** (//Microsoft//, etc.). 
 +Idéalement sur une partition on crée 2 répertoires par utilisateur potentiel : 
 +  * un « principal » lui appartenant, dans lequel il pourra écrire, modifier, supprimer… ranger toutes ses affaires 
 +  * un répertoire corbeille, appartenant aussi à cet utilisateur (sous Linux, il y a une corbeille par partition //et// par utilisateur.) 
 + 
 +**Rappelons qu'un ''chmod 777'' est DANGEREUX** :\\ 
 +un élément qui porte les droits ''rwxrwxrwx'' accorde //tous les droits// à quiconque y accédant (localement ou à distance) et permet entre autre de créer et exécuter des scripts.</note> 
 +Si on est seul utilisateur du pc, ceci suffirait (mais n'est pas idéal car restrictif) : 
 +<code>sudo chown $USER:$USER /mnt/sauvegarde</code> 
 +Dans le cadre d'une utilisation //familiale//, avec plusieurs utilisateurs ''toto'', ''tata'' et ''titi'', et un groupe appelé, disons ''famille'', on procédera autrement (voir [[:tutoriel:dossier_de_partage|les explications]]) : 
 +  * on s'assure que les [[:droits]] et [[:permissions]] du point de montage soient corrects : 
 +<code>sudo chown root:root /mnt/sauvegarde 
 +sudo chmod 755 /mnt/sauvegarde</code> 
 +  * on crée à la racine de cette partition les dossiers pour chaque utilisateur ''toto'', ''tata'', ''titi'' et ''famille''
 +<code>sudo mkdir /mnt/sauvegarde/{toto,tata,titi,famille}</code> 
 +  * on attribue chacun de ces répertoires à ses propriétaires adéquats :\\ 
 +<code>sudo chown toto:toto  /mnt/sauvegarde/toto 
 +sudo chown tata:tata  /mnt/sauvegarde/tata 
 +sudo chown titi:titi  /mnt/sauvegarde/titi 
 +sudo chown root:famille  /mnt/sauvegarde/famille</code> 
 +Pour que les utilisateurs ''tata'', ''titi'' et ''toto'', membres du groupe ''famille'', puissent écrire dans le dossier ''famille'' on s'assure que : 
 +  * ce répertoire (dont //les// propriétaires sont l'utilisateur ''root'' et le groupe ''famille'') accorde le droit d'écriture au groupe ''famille'', 
 +  * les éléments créés dans ce répertoire « héritent » les droits et permissions du groupe propriétaire de ce répertoire 
 +<code>sudo chmod 2775 /mnt/sauvegarde/famille     # le 2 signifiant bit sgid</code> 
 +Dorénavant : 
 +  * seul l'utilisateur ''toto'' peut écrire, modifier, supprimer des éléments dans //son// répertoire ''/mnt/sauvegarde/toto'', les //autres// peuvent seulement lire et accéder à ce répertoire ; 
 +  * seul l'utilisateur ''tata'' peut écrire, modifier, supprimer des éléments dans //son// répertoire ''/mnt/sauvegarde/tata'', les //autres// peuvent seulement lire et accéder à ce répertoire ; 
 +  * seul l'utilisateur ''titi'' peut écrire, modifier, supprimer des éléments dans //son// répertoire ''/mnt/sauvegarde/titi'', les //autres// peuvent seulement lire et accéder à ce répertoire ; 
 +  * //seuls// les utilisateurs //membres// du groupe ''famille'' peuvent écrire, modifier, supprimer des éléments dans le répertoire ''/mnt/sauvegarde/famille'', les //autres// peuvent seulement lire et accéder à ce répertoire. 
 + 
 +Si vous souhaitez que //seuls// les membres du groupe ''famille'' puissent accéder au répertoire ''/mnt/sauvegarde/famille'', alors : 
 +<code>sudo chmod 2770 /mnt/sauvegarde/famille</code> 
 +En l'état dans ce répertoire ''/mnt/sauvegarde/famille'' tous les membres du groupe //famille// peuvent effacer n'importe quel élément : ''toto'' pourrait effacer un élément appartenant à ''titi'' ou ''tata'', et vice-versa. Si vous souhaitez restreindre la possibilité d'effacer à seulement l'utilisateur propriétaire d'un élément, alors :((sources :\\ 
 +[[https://www.redhat.com/sysadmin/suid-sgid-sticky-bit|les bits sgid suid et sticky]] ⋅ [[:droits|Droits d'accès sous Linux : gérer les accès aux fichiers]] ⋅ [[:permissions|Gérer les droits d'accès (propriétés et permissions) des fichiers et répertoires]]\\ 
 +[[https://forum.ubuntu-fr.org/viewtopic.php?pid=22544820#p22544820|exemple commenté]] dans le forum ou ce [[:organiser_data_utilisateurs#mise_en_œuvre|point 4.1]] évoquent la création des **corbeilles**.)) 
 +<code>sudo chmod 3770 /mnt/sauvegarde/famille     # 3 signifiant sticky bit + bit sgid = 1+2</code> 
 + 
 +===== Voir aussi ===== 
 + 
 +  * [[:Montage]] 
 +  * Commande ''[[:mount]]'' 
 +  * [[:rclone#montage|rclone mount]] : Montage de système de fichiers à travers le réseau 
 +  * [[:tutoriel:monterpartagewindows|Monter un Partage Windows]] 
 +  * [[:AutoFS]] : Automatisation du montage des systèmes de fichiers (obsolète) 
 + 
 +---- 
 +  * //[[:Contributeurs]] : [[:utilisateurs:helly]], [[:utilisateurs:FélixP]], [[:utilisateurs:krodelabestiole]].// 
 +  * [[https://forum.ubuntu-fr.org/viewtopic.php?id=2094267|Discussion]] au sujet de cette page sur le forum.