| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| fstab [Le 13/09/2009, 11:54] – page mount_fstab plus adéquat comme nom YoBoY | fstab [Le 16/04/2026, 08:34] (Version actuelle) – réorganisation (déplacement note gnome disque) krodelabestiole |
|---|
| ~~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 0 2</file> |
| | * ou mieux (l'[[:partitions#UUID]] est plus fiable) :<file>UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb /mnt/stock ext4 defaults 0 2</file> |
| | * ou encore mieux (un [[:partitions#labels|label]] est plus éloquent) :<file>LABEL=stock /mnt/stock ext4 defaults 0 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. |