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édentes Révision précédente
Prochaine révision
Révision précédente
mount_fstab [Le 11/05/2018, 15:36]
90.66.104.242 [Le fichier fstab] Bases / Utilisation avancée
mount_fstab [Le 30/01/2024, 19:26] (Version actuelle)
197.146.62.141 [Rappel sur la désignation des partition]
Ligne 5: Ligne 5:
 ====== mount et fstab : Le montage des systèmes de fichiers ====== ====== mount et fstab : Le montage des systèmes de fichiers ======
  
-Un nouveau périphérique de stockage, lorsqu'​il ​est détecté, est la plupart du temps monté ​automatiquement. ​Mais il peut être intéressant ​de monter manuellementou de spécifier des options de montage ou de modifier celles des partitions ​système.\\+Quand un clé USB est connectéeelle est normalement montée ​automatiquement. ​Idem pour la partition qu'on vient de démarrer et qui porte votre OS. Par contreles autres ​partitions ​du disque ne seront pas montées automatiquement.
  
-Outre les outils graphiques, la gestion du montage ​des périphériques ​de stockage peut s'​effectuer ​en ligne de commandeou grâce au fichier ''/​etc/​fstab''​ (montage automatique).\\ +Il peut être intéressant de monter manuellement ou automatiquement ces partitions. Il peut aussi être intéressant de spécifier ​des options ​de montage (mettre une partition ​en lecture seulepar exemple).
-Nous allons découvrir ces outils, ainsi que quelques commandes utiles.+
  
-<note tip>Il existe 2 logiciels graphiques très pratiques pour ceci : [[:disk-manager|Disk-Manager]] ainsi que [[:gnome-disk-utility|Disques]] pour les installations récentes\\ Le montage graphique est documenté sur la page [[:​montage|Rendre accessible manuellement une partition et d’autres unités de stockage]].</​note>​+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]], normalement installé par défaut)
  
-<note important>​Les informations de cette page s'​adressent aux utilisateurs avancésou à ceux qui souhaiteraient le devenir ^_^</​note>​+Nous allons découvrir ces outilsainsi que quelques commandes utiles.
  
-<note warning>​Le ​montage ​des partitions a un impact sur le système et nécessite donc les [[:sudo|droits d'​administration]]. \\ L'​utilisation des droits d'​administration permet de modifier ​le système, et risquer de l'​abîmer. \\ Il est préférable de sauvegarder votre fichier ''/​etc/​fstab''​ avant manipulation.</​note>​+Quelques liens : [[montage|montage]], ​[[:systeme_de_fichiers|les systèmes de fichiers sous Linux]] ainsi que le portail [[:​partitions|Partitions]].
  
-Quelques liens : [[:systeme_de_fichiers|Les systèmes de fichiers sous Linux]] ainsi que le portail [[:​partitions|Partitions]].+<note warning>​Le montage des partitions a un impact sur le système et nécessite donc les [[:sudo|droits d'​administration]]. \\ L'​utilisation des droits d'​administration permet de modifier le système, et risque de l'​abîmer. Il est donc préférable de sauvegarder votre fichier ''/​etc/​fstab''​ avant manipulation.\\ 
 +Compte tenu des risques, ne faite rien que vous n'ayez pas bien compris.</​note>​
 ===== Rappel sur la désignation des partitions ===== ===== Rappel sur la désignation des partitions =====
 Les périphériques sont désignés par le système par des fichiers dans le répertoire ''/​dev/''​. \\ Les périphériques sont désignés par le système par des fichiers dans le répertoire ''/​dev/''​. \\
Ligne 23: Ligne 23:
 Les [[:​partitions#​regle_de_denomination|partitions]] sont désignées par leur numéro dans le disque (''/​dev/​sda1'',​ ''/​dev/​sda2'',​ ...) Les [[:​partitions#​regle_de_denomination|partitions]] sont désignées par leur numéro dans le disque (''/​dev/​sda1'',​ ''/​dev/​sda2'',​ ...)
  
-Les partitions peuvent aussi être reconnues par leur [[:​uuid_et_label|UUID ​et leur label]]+Les partitions peuvent aussi être reconnues par leur [[:​uuid_et_label|UUID ​ou leur label]]
 + 
 +C'est une partition que l'on monte (sdb1, par exemple), JAMAIS un disque (sdb, par exemple) : cela ne fonctionne pas.
  
 ==== Liste des partitions ==== ==== Liste des partitions ====
-Vous pouvez lister les partitions en lançant la commande : <​code>​ sudo fdisk -l </​code>​+Vous pouvez lister les partitions en lançant la commande : <​code>​ lsblk -o name,​fstype,​size,​fsused,​fsuse%,​fsavail,​label,​mountpoint | grep -Ev "​loop"</​code>​ ou <​code>​ sudo fdisk -l </​code>​
 Ce qui vous ressortira quelque chose comme : Ce qui vous ressortira quelque chose comme :
 <​code>​Disk /dev/sda: 117.3 GB, 117298257920 bytes <​code>​Disk /dev/sda: 117.3 GB, 117298257920 bytes
Ligne 56: Ligne 58:
 L'​[[:​uuid_et_label|UUID]] est défini pour chaque partition de façon quasi-unique,​ et assure qu'il n'y aura pas d'​ambiguïtés dans votre fstab.\\ L'​[[:​uuid_et_label|UUID]] est défini pour chaque partition de façon quasi-unique,​ et assure qu'il n'y aura pas d'​ambiguïtés dans votre fstab.\\
  
-Pour obtenir les UUIDs de vos partitions, tapez  +Pour obtenir les UUIDs de vos partitions, tapez 
-<​code>​blkid</​code>​+<​code>​sudo blkid</​code>​
 Vous obtiendrez la liste de vos partitions et pour chacune, son chemin d'​accès,​ son UUID, son étiquette, le type de système de fichier qu'​elle contient : Vous obtiendrez la liste de vos partitions et pour chacune, son chemin d'​accès,​ son UUID, son étiquette, le type de système de fichier qu'​elle contient :
 <​code>​ <​code>​
Ligne 66: Ligne 68:
 /dev/sdb1: LABEL="​Home"​ UUID="​2c313d40-6bdc-4e42-917a-b04f88764aac"​ UUID_SUB="​c21f5351-4022-41af-b504-6b59b455bf23"​ TYPE="​btrfs" ​ /dev/sdb1: LABEL="​Home"​ UUID="​2c313d40-6bdc-4e42-917a-b04f88764aac"​ UUID_SUB="​c21f5351-4022-41af-b504-6b59b455bf23"​ TYPE="​btrfs" ​
 </​code>​ </​code>​
 +On peut aussi taper la commande :
 +<​code>​lsblk -fe7</​code>​
 +qui donne sensiblement les mêmes résultats :
 +<​code>​NAME ​  ​FSTYPE LABEL       ​UUID ​                                ​FSAVAIL FSUSE% MOUNTPOINT
 +sda                                                                           
 +├─sda1 ntfs   ​WIN10 ​      ​6C8CA3038CA2C6C4 ​                                   ​
 +├─sda2 ext4   ​MINT ​       727a95e9-70a4-4d6e-a739-cb884c4188df ​  ​19,​1G ​   40% /
 +├─sda3 ext4   ​HOMEMINT ​   4bdc4735-801e-43fe-b3f1-58fd832638f5 ​  ​23,​6G ​   71% /home                                                                                                                                                                                    ​
 +└─sda4 ext4   ​DATAS ​      ​ca07415a-2704-497f-8091-1d9a4a58f3d0 ​ 297,​2G ​   43% /​media/​DATAS</​code>​
 Ainsi, dans votre fstab, les trois lignes suivantes sont équivalentes :\\ Ainsi, dans votre fstab, les trois lignes suivantes sont équivalentes :\\
 <​file>​ <​file>​
Ligne 76: Ligne 87:
 ===== La commande mount ===== ===== La commande mount =====
  
-Pour monter un périphérique,​ il faut connaître son nom, qui sera de la forme /dev/sda1, par exemple.+Pour monter un périphérique,​ il faut connaître son nom, qui sera de la forme **/dev/sda1**, par exemple.
  
-La commande mount permet de manipuler tous les montages de systèmes de fichier de manière très précise. +La commande ​**mount** permet de manipuler tous les montages de systèmes de fichier de manière très précise. 
-Par exemple, pour monter l'​unité de stockage ​"/dev/sdc3" ​dans le dossier ​"/​media/​stock" ​:+Par exemple, pour monter l'​unité de stockage ​**/dev/sdc3** dans le dossier ​**/​media/​stock** :
 <​code>​sudo mount /dev/sdc3 /​media/​stock</​code>​ <​code>​sudo mount /dev/sdc3 /​media/​stock</​code>​
 Le système de fichier utilisé est détecté automatiquement. Le système de fichier utilisé est détecté automatiquement.
  
-Le point de montage doit être un dossier, quelconque mais **existant** et **vide** au moment du montage.\\ +Le point de montage doit être un dossier, quelconque mais **existant** et **vide** au moment du montage ​(idéalement un sous-répertoire ​de **/media**mais ce n'est pas strictement obligatoire).
-Ubuntu monte automatiquement les disques dans des sous-dossiers du répertoire /​media ​par exempledossiers qu'il crée automatiquement avant.+
  
-<​note ​important>+<​note ​importante>
 **__Point de montage dont le nom comporte un espace.__** **__Point de montage dont le nom comporte un espace.__**
  
-__Pour la commande mount :__ l'​espace doit être précédé d'un caractère d'​echappement ​**\**, ou le nom du dossier mis entre guillements ​**""​**+__Pour la commande mount :__ l'​espace doit être précédé d'un caractère d’échappement ​**\**, ou le nom du dossier mis entre guillemets ​**""​** ​.
  
-__Pour Fstab :__ l'​espace doit être remplacé par **\040**+__Pour Fstab :__ l'​espace doit être remplacé par **\040** ​.
 </​note>​ </​note>​
  
Ligne 100: Ligne 110:
 <​code>​sudo mount -t [type] /dev/sdc3 /​media/​stock</​code>​ <​code>​sudo mount -t [type] /dev/sdc3 /​media/​stock</​code>​
 [type] est le format de système de fichiers ([[:​systeme_de_fichiers|Les systèmes de fichiers]]). Voici les plus fréquents : \\ [type] est le format de système de fichiers ([[:​systeme_de_fichiers|Les systèmes de fichiers]]). Voici les plus fréquents : \\
-''​ext2,​ ext3, ext4, f2fs, fat''​ (Fat16), ''​vfat''​ (Fat32), ''​ntfs,​ reiserfs, btrfs, tmpfs, iso9660''​(Disques)'',​…''​+''​ext2,​ ext3, ext4, f2fs, fat''​ (Fat16), ''​vfat''​ (Fat32), ''​ntfs, ​ntfs3''​ (plus efficace, depuis 22.04), ''​reiserfs, btrfs, tmpfs, iso9660''​(Disques)'',​…''​
  
-Exemples : +Exemples :
 <​code>​ <​code>​
 mount -t ext4 /dev/sdc3 /​media/​stock ​      # Système de fichiers en ext4 mount -t ext4 /dev/sdc3 /​media/​stock ​      # Système de fichiers en ext4
Ligne 113: Ligne 123:
  
 ==== Droits par défaut du volume ==== ==== Droits par défaut du volume ====
 +=== Système de fichier linux ===
 +En ce qui concerne les systèmes de fichiers qui ont une gestion des permissions (comme Ext2, Ext3, ReiserFs etc...), si vous souhaitez pouvoir écrire dans cette partition en tant que simple utilisateur,​ vous devez [[/​permissions#​modifier_les_permissions|changer les permissions ou l'​appartenance du répertoire racine de la partition]].
 +
 +Dans notre exemple précédent,​ si ''/​dev/​sdc3''​ est en ext3 :\\
 +Après avoir monté la partition dans ''/​media/​stock''​ :
 +<​code>​
 +sudo chown utilisateur /​media/​stock
 +</​code>​
 +
 +Désormais cette partition appartient à l'​utilisateur,​ peu importe où elle sera montée ensuite.\\
 +(Les droits sont attachés au répertoire racine de la partition et non au répertoire du point de montage)\\
 +\\
 +=== Système de fichier non linux ===
 Cas concret : vous avez une partition en vfat sur votre disque dur et vous voudriez, en tant qu'​utilisateur lambda, pouvoir lire et écrire dessus. \\ Le système de fichier vfat ne spécifiant aucun droit, nous devons les lui spécifier lors du montage. Il faut alors indiquer à mount la valeur de [[wpfr>​umask]] adéquate grâce à l'​option homonyme. Cas concret : vous avez une partition en vfat sur votre disque dur et vous voudriez, en tant qu'​utilisateur lambda, pouvoir lire et écrire dessus. \\ Le système de fichier vfat ne spécifiant aucun droit, nous devons les lui spécifier lors du montage. Il faut alors indiquer à mount la valeur de [[wpfr>​umask]] adéquate grâce à l'​option homonyme.
  
Ligne 123: Ligne 146:
 Vous pouvez également restreindre les droits en montant le système de fichier en lecture seule (c'​est-à-dire avec aucun droit en écriture). L'​option "-o umask=0222"​ est alors tout indiquée. Vous pouvez également restreindre les droits en montant le système de fichier en lecture seule (c'​est-à-dire avec aucun droit en écriture). L'​option "-o umask=0222"​ est alors tout indiquée.
  
-En ce qui concerne les systèmes de fichiers qui ont une gestion des permissions (comme Ext2, Ext3, ReiserFs etc...), si vous souhaitez pouvoir écrire dans cette partition en tant que simple utilisateur,​ vous devez [[/​permissions#​modifier_les_permissions|changer les permissions ou l'​appartenance du dossier]]. \\ 
  
-Dans notre exemple précédent,​ si ''/​dev/​sdc3''​ est en ext3 :\\ 
-Après avoir monté la partition dans ''/​media/​stock''​ : 
-<​code>​ 
-sudo chown utilisateur /​media/​stock 
-</​code>​ 
- 
-Désormais cette partition appartient à l'​utilisateur peu importe où elle sera montée ensuite. 
 ==== Autres options ==== ==== Autres options ====
 D'​autres options peuvent être spécifiées au montage comme nous le verrons dans le paragraphe suivant. Les mêmes options (''​default'',​ etc) peuvent être spécifiées avec ''​mount'',​ après "''​-o''"​. Par exemple : D'​autres options peuvent être spécifiées au montage comme nous le verrons dans le paragraphe suivant. Les mêmes options (''​default'',​ etc) peuvent être spécifiées avec ''​mount'',​ après "''​-o''"​. Par exemple :
Ligne 137: Ligne 152:
  
  
-===== Le fichier fstab =====+===== Le fichier fstab (montage automatique) ​=====
  
-Le fichier ''/​etc/​fstab''​ liste les partitions qui seront montées au démarrage ​ou à la connexion du périphérique,​ avec toujours les mêmes options. \\  +Le fichier ​**''/​etc/​fstab''​** liste les partitions qui seront 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 système de fichier.\\  +Il est composé de plusieurs lignes décrivant chacune les conditions de montage de chaque ​partition / système de fichier. 
-Le fichier est créé lors de l'​installation,​ avec le montage de la partition principale, 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.+Le fichier ​**fstab** ​est créé lors de l'​installation,​ avec le montage de la partition principale, et de la [[swap|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 un point de montage contient un espace, ​il doit être remplacé dans ''/​etc/​fstab''​ par ''​**\040**''</​note>​+<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 ==== ==== Les bases ====
Ligne 154: Ligne 169:
 # that works even if disks are added and removed. See fstab(5). # that works even if disks are added and removed. See fstab(5).
 # #
-# <file system> <mount point> ​  ​<​type> ​ <​options> ​      <​dump> ​ <​pass>​+# <file system> ​                             <mount point> ​ <​type> ​  ​<​options> ​      <​dump> ​ <​pass>​
 # / was on /dev/sda7 during installation # / was on /dev/sda7 during installation
-UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb ​   /               ​ext4 ​   errors=remount-ro 0       ​1+UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb ​   /               ​ext4 ​   errors=remount-ro 0     ​1
 # /boot was on /dev/sda5 during installation # /boot was on /dev/sda5 during installation
-UUID=c3cc32c0-b4bd-49f6-b23c-35fed37adea5 ​   ​/boot           ​ext2 ​   defaults ​       0       2 +/​dev/​sda5 ​                                   ​/boot           ​ext2 ​   defaults ​         0       2 
-# /home was on /dev/sda8 during installation +# /musique ​was on /dev/sda8 during installation 
-UUID=c2d386a1-c2f9-4d2f-957a-65a5d9b4c4d7 ​   ​/home           ext4    defaults ​       0       2+LABEL=ma-musique ​                            /musique ​       ​ext4    defaults ​         0       2
 # swap was on /dev/sda6 during installation # swap was on /dev/sda6 during installation
-UUID=2c442228-1991-48c7-bad9-a80dfc8267cf ​   none            swap    sw              0       0+UUID=2c442228-1991-48c7-bad9-a80dfc8267cf ​   none            swap    sw                0       0
 </​file>​ </​file>​
-Ici, le disque principal est sda7, et son swap est sda6. Ces lignes ont été créées par l'​installateur. Les partitions additionnelles montées sont sda5 et sda8, et on été ajoutées à la main. +Ici, le disque principal est sda7, et son swap est sda6. Ces lignes ont été créées par l'​installateur. Les partitions additionnelles montées sont sda5 et sda8, et ont été ajoutées à la main. 
-  - la colonne **<file system>​** indique la partition elle-même. Il y a plusieurs solutions, mais la plus sure est de donner ​l'UUID de la partition. Celle-ci sera obtenue via un **sudo blkid**, via [[gnome-disk-utility|gnome-disk]],​ ou via [[gparted|gparted]]. +  - la colonne **<file system>​** indique la partition elle-même. Il y a plusieurs solutions, mais les 4 principales sont : 
-  - 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 ​évidement ​"​**/​**"​ (la racine). Pour une partition montée additionnelle,​ on choisit en général (ce n'est pas un emplacement obligatoire) un répertoire /media/xxx (ou **xxx** est le nom que vous choisissez pour la partition de montage). Vous devez créer manuellement cette partition de montage __une fois pour toute__ ​par un **sudo mkdir /​media/​xxx**. Laissez-la vide, et n'y touchez plus jamais. Elle sert juste d'​ancrage au fstab pour son montage. +    - l'​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-disk]],​ ou via [[gparted|gparted]]. Un UUID ressemble à cela **UUID=2c442228-1991-48c7-bad9-a80dfc8267cf** 
-  - La colonne **<​type>​** donne le type de système de fichier ​de la partition montée. Pour une partition linux, c'est souvent ext4.+    - La référence directe à la partition sous la forme **/​dev/​sda2** ou **/​dev/​sdb2** (**sd** signifie disque dur, la lettre est l'​ordre du disque dans le boot, et le N° est celui de la partition. **/​dev/​sdb2** est donc la 2e partition du 2e disque dur). Inconvénient de cette méthode : si vous changez le 1er disque de démarrage dans le boot, la signification de sdb2 (par exemple) changera en même temps. l'UUID est donc un identifiant plus stable et plus sûr. 
 +    - Le LABEL de la partition à monter. On peut en effet donner un nom (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 LABEL réel. 
 +    - l'​adresse **IP** du disque 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** (un forme particulière du protocole SMB1)
 +  - 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 /media/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 /​media/​xxx**. Laissez-la vide, et n'y touchez plus jamais. Elle sert juste d'​ancrage 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.
   - La colonne **<​option>​** permet de choisir des options au montage. Sauf si vous êtes un expert, laissez **defaults** pour une partition ajoutée par vous au montage.   - La colonne **<​option>​** permet de choisir des options au montage. Sauf si vous êtes un expert, laissez **defaults** pour une partition ajoutée par vous au montage.
-  - la colonne **<​dump>​** règle les sauvegardes ​La valeur classique est **0** +  - la colonne **<​dump>​** règle les sauvegardes ​via l'​utilitaire **[[dump|dump]]**. ​La valeur classique est **0** (dump n'est presque jamais actif ou utilisé). 
-  - la colonne **<​pass>​** règle la vérification au démarrage. Laissez-y les valeurs par défaut de l'​installation. Si vous ajoutez manuellement des partitions, les valeurs de <​pass>​ doivent être : +  - la colonne **<​pass>​** règle la priorité de vérification ​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>​ doivent être: 
-     * **1** pour la racine (votre partition principale) +     * **1** pour la racine (votre partition principale) ​=> vérif de cette partition en priorité, 
-     * **2** pour les autres partitions Linux (les partitions "​externes"​ que vous souhaitez monter), +     * **2** pour les autres partitions Linux (les partitions "​externes"​ que vous souhaitez monter) => ce **2** fera les vérifs __après__ la partition racine (démarrage plus rapide), 
-     * **0** pour le swap et les partitions windows (cf. [[man>​fstab]]) => pas de vérification+     * **0** pour le swap et les partitions windows (cf. [[man>​fstab]]) => pas de vérification.
  
-Lorsqu'​un système de fichier est présent dans le fichier /etc/fstab, il est monté automatiquement au démarrage de la machine. \\ +Par exemple une ligne **fstab** ​type pour un montage d'une partition linux **ext4** sera :\\ 
-Les utilisateurs peuvent également le démonter manuellement ou le monter en tapant ​**unmount** ou **mount /media/xxx** (ou **xxx** ​est le nom de votre répertoire de montage) \\+<​file>/​dev/​sdb2 ​                                     ​/media/toto      ext4     ​defaults ​    ​0 ​    ​2</​file>​ 
 +ou mieux (l'​UUID ​est plus stable) 
 +<​file>​UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb ​     /​media/​toto ​     ext4     ​defaults ​    ​0 ​    ​2</​file>​ 
 +Ces 2 exemples montent pareillement et automatiquement la 2e partition du 2e disque dur.\\ 
 +Autre exemple, celui d'un disque __réseau__ désigné par l'​adresse ''​IP/​nom_répertoire_à_partager''​ : 
 +<​file>//​192.168.7.12/​rep_a_partager ​                 /​media/​toto ​     cifs     ​guest,​uid=1000,​iocharset=utf8 ​ 0  0</​file>​ (0 et non 2 pour la dernière position, car il s'agit d'une partition Windows).
  
 +__Dans tous les cas__, il ne faut pas oublier de créer "​l'​ancrage"​ ''/​media/​toto''​ par un **sudo mkdir /​media/​toto** (remplacez **toto** par le nom qui vous convient).
 +
 +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 ou le re-monter en tapant **umount** ou **mount /​media/​xxx** (où **xxx** est le nom de votre répertoire de montage). \\
 +
 +Quand vous avez fini de créer votre **fstab**, vous pouvez le tester sans redémarrer votre PC, via un :
 +  sudo mount -a
 +Cette commande exécute le **fstab** comme si votre machine venait de démarrer. C'est plus rapide pour tester différentes configurations.
 ==== Utilisation avancée ==== ==== Utilisation avancée ====
 Pour aller plus loin, voici la liste des options pour la colonne **<​option>​**. Pour aller plus loin, voici la liste des options pour la colonne **<​option>​**.
Ligne 185: Ligne 217:
 | //''​defaults''//​ | //​Correspond à: ''​rw,​suid,​dev,​exec,​auto,​nouser,​async''//​ | Tous | | //''​defaults''//​ | //​Correspond à: ''​rw,​suid,​dev,​exec,​auto,​nouser,​async''//​ | Tous |
 | ''​**rw**/​ro''​ | Montage en lecture/​écriture (par défaut) ou lecture seule | Tous | | ''​**rw**/​ro''​ | Montage en lecture/​écriture (par défaut) ou lecture seule | Tous |
-| ''​**suid**/​nosuid''​ | Les bits [[http://​fr.wikipedia.org/​wiki/​Setuid|SUID et SGID]] sont pris en compte (ou non) \\ Relatif aux droits donnés aux exécutables sur la partition | Tous |+| ''​**suid**/​nosuid''​ | Les bits [[https://​fr.wikipedia.org/​wiki/​Setuid|SUID et SGID]] sont pris en compte (ou non) \\ Relatif aux droits donnés aux exécutables sur la partition | Tous |
 | ''​**dev**/​nodev''​ | Interprète ou non les fichiers spéciaux de périphériques présents sur le système (par défaut) | Tous | | ''​**dev**/​nodev''​ | Interprète ou non les fichiers spéciaux de périphériques présents sur le système (par défaut) | Tous |
 | ''​**exec**/​noexec''​ | Autorise l'​exécution des programmes (par défaut) ​ | Tous | | ''​**exec**/​noexec''​ | Autorise l'​exécution des programmes (par défaut) ​ | Tous |
Ligne 194: Ligne 226:
 | ''​**atime**/​noatime''​ | Inscrit (ou non) la date d'​accès (préférez ''​noatime''​ pour les SSD) | Norme POSIX | | ''​**atime**/​noatime''​ | Inscrit (ou non) la date d'​accès (préférez ''​noatime''​ pour les SSD) | Norme POSIX |
 | ''​sw''​ | Spécifique à l'​activation des partitions swap | swap | | ''​sw''​ | Spécifique à l'​activation des partitions swap | swap |
-| ''​discard''​ | active le TRIM sur les partitions SSD (à rajouter manuellement) | ext4, btrfs (SSD) |+| ''​discard''​ | active le [[/​ssd_solid_state_drive#​la_commande_trimactivation_et_utilisation|TRIM]] sur les partitions SSD (à rajouter manuellement) | ext4, btrfs (SSD) |
  
 D'​autres options restent moins fréquentes (Liste non exhaustive) : D'​autres options restent moins fréquentes (Liste non exhaustive) :
 ^ Options ^ Description ^ Compatible ^ ^ Options ^ Description ^ Compatible ^
-| ''​user''​ | Autorise l'​utilisateur courant à monter/​démonter le système de fichier. Ceci entraîne l'​utilisation des options noexec, nosuid, et nodev (à moins que exec,​dev,​suid ne soient spécifiés). | Tous |+| ''​users''​ | Autorise l'​utilisateur courant à monter/​démonter le système de fichier. Ceci entraîne l'​utilisation des options noexec, nosuid, et nodev (à moins que exec,​dev,​suid ne soient spécifiés). | Tous |
 | ''​sync''​ | Montage synchrone (semblerait déconseillé) | ext2-3, fat, vfat, ufs | | ''​sync''​ | Montage synchrone (semblerait déconseillé) | ext2-3, fat, vfat, ufs |
 | ''​uid=''​ | Spécifie le n° du propriétaire des fichiers pour les systèmes de fichiers non-Linux (où ce n'est donc pas spécifié). Vous pouvez trouver le votre dans "/​etc/​passwd"​. \\  * Si non spécifié : root \\  * Si ''​uid''​ ou ''​gid''​ spécifié sans nombre, utilisateur actuel. | Formats non-Linux | | ''​uid=''​ | Spécifie le n° du propriétaire des fichiers pour les systèmes de fichiers non-Linux (où ce n'est donc pas spécifié). Vous pouvez trouver le votre dans "/​etc/​passwd"​. \\  * Si non spécifié : root \\  * Si ''​uid''​ ou ''​gid''​ spécifié sans nombre, utilisateur actuel. | Formats non-Linux |
 | ''​gid=''​ | Pareil pour les groupes propriétaires (Les numéros de groupes sont dans ''/​etc/​group''​) | Formats non-Linux | | ''​gid=''​ | Pareil pour les groupes propriétaires (Les numéros de groupes sont dans ''/​etc/​group''​) | Formats non-Linux |
-| ''​umask=''​ | Spécifie les permissions (droits d'​accès/​lecture/​écriture) sur la partition, même fonctionnement que ''​uid''​ et ''​gid''​. ​ | Formats non-Linux ​(fat)+| ''​umask=''​ | Spécifie les permissions (droits d'​accès/​lecture/​écriture) sur la partition, même fonctionnement que ''​uid''​ et ''​gid''​. ​ | Formats non-Linux | 
-| ''​dir_mode=''​ | Spécifie les droits d'​usage des dossiers (si omis : ''​umask''​ actuel) ​ | Formats non-Linux  ​+| ''​dir_mode=''​ | Spécifie les droits d'​usage des dossiers (si omis : ''​umask''​ actuel) ​ | CIFS uniquement ​
-| ''​dmask=''​ | Spécifie les droits d'​usage des dossiers (si omis : ''​umask''​ actuel) | Formats non-Linux ​(fat) +| ''​dmask=''​ | Spécifie les droits d'​usage des dossiers (si omis : ''​umask''​ actuel) | Formats non-Linux | 
-| ''​file_mode=''​ | Spécifie les droits d'​usage des fichiers (si omis : umask actuel) ​ | Formats non-Linux  ​+| ''​file_mode=''​ | Spécifie les droits d'​usage des fichiers (si omis : umask actuel) ​ | CIFS uniquement ​
-| ''​fmask=''​ | Spécifie les droits d'​usage des fichiers (si omis : umask actuel) | Formats non-Linux ​(fat) |+| ''​fmask=''​ | Spécifie les droits d'​usage des fichiers (si omis : umask actuel) | Formats non-Linux |
 +| ''​nofail''​ | Ne pas planter le boot si la partition est dans un état incohérent ​ ou absente. | |*
 | ''​utf8''​ | Convertit l'​encodage unicode 16 bits des caractères en  utf8 pour les noms de fichiers | ISO9660 (Images CD/DVD), Ntfs, Fat32 | | ''​utf8''​ | Convertit l'​encodage unicode 16 bits des caractères en  utf8 pour les noms de fichiers | ISO9660 (Images CD/DVD), Ntfs, Fat32 |
-| ''​windows_names''​ | Empêche ​ l'​usage des caractères non compatibles avec Windows dans les noms de fichiers : \\ / \ : ? * < > " barre verticale. ​ | fat, ntfs | +|''​x-systemd.device-timeout=''​ |Configure le délai d'​attente par défaut pour les appareils. Defaut à 90s|| 
-<note tip>​Attention l'​option **sync** ne concerne pas que le montage. En version 16.04.1, il semble que chaque ​ écriture sur partition NTFS  devienne synchrone avec le système de fichier et  la copie d'un fichier peut prendre 1000 (mille) fois plus de temps. Le débit chutant à **10 Ko/​s**</​note> ​ +| ''​windows_names''​ | **Inutile à partir de 22.04**. ​Empêche ​ l'​usage des caractères non compatibles avec Windows dans les noms de fichiers : \\ / \ : ? * < > " barre verticale. ​Pour vérifier et corriger les noms non compatibles,​ lisez cette [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2068750|discussion]] ​| fat, ntfs | 
- +<note important>​Les options disponibles :\\ 
-Il y a aussi d'​autres options possibles, Voir [[http://​manpages.ubuntu.com/​manpages/​xenial/​fr/​man8/​mount.8.html|man mount]] ou [[http://​www.dsm.fordham.edu/​cgi-bin/​man-cgi.pl?​topic=systemd.mount&​ampsect=5]] +  * en fonction des [[systeme_de_fichiers|systèmes de fichiers]] à monter : [[https://​manpages.ubuntu.com/​manpages/​jammy/​man8/​mount.8.html#​filesystem-specific%20mount%20options|man mount]]. 
-    ​+  * en cas de montage « réseau » **CIFS** : [[https://​manpages.ubuntu.com/​manpages/​jammy/​en/​man8/​mount.cifs.8.html#​options|man mount.cifs]] 
 +</​note>​ 
 +<note tip>​Attention l'​option **sync** ne concerne pas que le montage. En version 16.04.1, il semble que chaque ​ écriture sur partition NTFS  devienne synchrone avec le système de fichier et  la copie d'un fichier peut prendre 1000 (mille) fois plus de temps. Le débit chutant à **10 Ko/​s**</​note>​
 Voir aussi la page [[tutoriel:​comment_acceder_a_ses_partitions_windows|Comment accéder à ses partitions Windows depuis GNU/Linux ?]] Voir aussi la page [[tutoriel:​comment_acceder_a_ses_partitions_windows|Comment accéder à ses partitions Windows depuis GNU/Linux ?]]
 et [[tutoriel:​monterpartagewindows|Monter des partages Windows au démarrage]] et [[tutoriel:​monterpartagewindows|Monter des partages Windows au démarrage]]
Ligne 218: Ligne 253:
 __Problèmes rencontrés lors de l'​ajout d'un disque dur secondaire__ ​ :\\ __Problèmes rencontrés lors de l'​ajout d'un disque dur secondaire__ ​ :\\
 1) Une erreur peut survenir lorsque l'on tente d'​éditer le fichier fstab //(avec gedit par exemple)//. 1) Une erreur peut survenir lorsque l'on tente d'​éditer le fichier fstab //(avec gedit par exemple)//.
-Si le message suivant apparaît : <​code>​ (gedit:​...):​ Gtk-WARNING ** </​code>​ il est préférable d'​utiliser ​la commande **gk**sudo (**kde**sudo ​dans **K**ubuntu) ​à la place de sudo. +Si le message suivant apparaît : <​code>​ (gedit:​...):​ Gtk-WARNING ** </​code>​ il est préférable d'​utiliser ​un éditeur de texte « graphique » qui propose un mode administrateur,​ par exemple : 
 +<​code>​gedit admin:///​etc/​fstab</​code>​ 
 +ou un éditeur de texte « dans » le terminal : 
 +<​code>​sudoedit /​etc/​fstab</​code>​ 
 +qui sous ×buntu équivaut ​à : 
 +<​code>​sudo nano /​etc/​fstab</​code>​
 2) Accessibilité\\ 2) Accessibilité\\
 Une fois que la partition du disque supplémentaire est ainsi ajoutée dans le fichier fstab : Une fois que la partition du disque supplémentaire est ainsi ajoutée dans le fichier fstab :
Ligne 227: Ligne 266:
 et son point de montage ainsi créé : et son point de montage ainsi créé :
 <​code>​sudo mkdir /​sauvegarde</​code>​ <​code>​sudo mkdir /​sauvegarde</​code>​
-Comme ce dernier appartient à root, il est momentanément inaccessibleIl faut donc se rendre **propriétaire** du point de montage.\\ +Comme ce dernier appartient ​( légitimement ) à root, aucun autre utilisateur n'a le droit d'y écrire.\\ 
-<note warning> ​C'est bien une question ​de propriétaire (**chown**),​ et non de droits (**chmod**).\\ +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.\\ 
-Rappelons qu'un "chmod 777" est DANGEREUX. </note> +<note warning>Le dossier 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 partition ) géré par le //système//.\\
-Si on est __seul__ utilisateur du pc, voici qui suffira ​: +
-<​code>​sudo chown -R $USER:​$USER ​/sauvegarde<​/code> +
-Mais dans le cadre d'une utilisation __familiale__, ​avec plusieurs utilisateurs et un groupe appelé, disons "​famille",​ on procédera autrement : +
-<​code>​sudo chown $USER:​famille ​/sauvegarde<​/code> +
-Noter l'​absence,​ cette fois, de l'​option "-R"​.\\ +
-Et c'est seulement après avoir créé dans "​sauvegarde"​ les sous-répertoires "​famille",​ toto", tata", "​titi"​... que vous réutiliserez l'option de récursivité "​-R"​ **à l'intérieur de ces sous-répertoires** :\\ +
-<​code>​sudo chown -R toto:​toto  ​/sauvegarde/toto +
-sudo chown -R tata:​tata  ​/sauvegarde/tata +
-sudo chown -R titi:​titi  ​/sauvegarde/titi +
-sudo chown -R $USER:​famille  ​/sauvegarde/famille</​code>​+
 \\ \\
 +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 **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 compatibles**.
 +**Idéalement** sur une partition on crée 2 dossiers //par// utilisateur potentiel :
 +  * un « principal » **lui appartenant**,​ //dans// lequel il pourra écrire, modifier, supprimer… ranger toutes //ses// affaires ;\\
 +  * un dossier corbeille, **appartenant** à 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 //​rwxrwx**rwx**//​ accorde //tous les droits// à quiconque y accédant ( localement ou à distance )…</​note>​
 +Si on est __seul__ utilisateur du pc, ceci suffirait ( mais n'est pas idéal car restrictif ) :
 +<​code>​sudo chown $USER:$USER /​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 ( Pour lire [[:/​tutoriel/​dossier_de_partage|les explications]]):​
 +  * on s'​assure que les droits et permissions du point de montage sont dans la situation saine et souhaitable pour du //​matériel//​ :
 +<​code>​sudo chown root:root /sauvegarde
 +sudo chmod 755 /​sauvegarde</​code>​
 +  * on crée à la racine de cette partition les dossiers pour chaque utilisateur //toto, tata, titi// et //famille// :
 +<​code>​sudo mkdir /​sauvegarde/​{toto,​tata,​titi,​famille}</​code>​
 +  * on attribue chacun de ces répertoires à ses propriétaires adéquats :\\
 +<​code>​sudo chown toto:​toto ​ /​sauvegarde/​toto
 +sudo chown tata:​tata ​ /​sauvegarde/​tata
 +sudo chown titi:​titi ​ /​sauvegarde/​titi
 +sudo chown root:​famille ​ /​sauvegarde/​famille</​code>​
 +Pour que les utilisateurs //tata, titi, toto// membres du groupe //famille// puissent écrire dans le dossier « famille » on s'​assure que :
 +  * ce dossier ( 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 dossier **« héritent » les droits et permissions du groupe** de ce dossier
 +<​code>​sudo chmod 2775 /​sauvegarde/​famille ​    # le 2 signifiant bit sgid</​code>​
 +Dorénavant :\\
 +  * seul l'​utilisateur **toto** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/​sauvegarde/​toto'',​ les //autres// peuvent seulement lire et accéder à ce dossier ;
 +  * seul l'​utilisateur **tata** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/​sauvegarde/​tata'',​ les //autres// peuvent seulement lire et accéder à ce dossier ;
 +  * seul l'​utilisateur **titi** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/​sauvegarde/​titi'',​ les //autres// peuvent seulement lire et accéder à ce dossier ;
 +  * **seuls** les utilisateurs **membres** du groupe //famille// peuvent écrire, modifier, supprimer des éléments dans le dossier ''/​sauvegarde/​famille'',​ les //autres// peuvent seulement lire et accéder à ce dossier.
 +
 +Si vous êtes un peu parano, et souhaitez que **seuls les membres du groupe //​famille//​** puissent accéder au dossier ''/​sauvegarde/​famille''​ alors :\\
 +<​code>​sudo chmod 2770 /​sauvegarde/​famille</​code>​
 +En l'​état dans ce dossier ''/​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 :
 +<​code>​sudo chmod 3770 /​sauvegarde/​famille ​    # 3 signifiant sticky bit + bit sgid = 1+2</​code>​
 +__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]] d'une doc' qui évoquent la création des **corbeilles**.
 \\ \\
-Enfin, pour avoir le **lien** vers "​sauvegarde"​ dans le volet de gauche de votre gestionnaire de fichiers, il sera nécessaire de vous rendre manuellement dans ce répertoire,​ puis de lui attribuer un signet ou marque-page (le nom et la méthode varient selon votre gestionnaire de fichiers).+\\ 
 +Enfin, pour avoir le **lien** vers "​sauvegarde"​ dans le volet de gauche de votre gestionnaire de fichiers, il sera nécessaire de vous rendre manuellement dans ce répertoire,​ puis de lui attribuer un signet ou marque-page (le nom et la méthode varient selon votre gestionnaire de fichiers).\\ 
 +**OU**\\ 
 +plutôt que de créer ce point de montage ''/​sauvegarde''​ à la racine de votre système, créez le dans le dossier ''/​media''​ :\\ 
 +  * tout élément visible dans ce dossier conventionnel apparaît automatiquement dans le volet latéral de la plupart des explorateurs de fichiers ( sous « périphériques » ou « autres emplacements » selon l'​explorateur. )\\ 
 +  * par ailleurs les applications « confinées » ( type [[snap|snap]] ou [[flatpak|flatpak]] ) se banalisant, un tel point de montage directement à la racine système leur est inaccessible. 
 +==== 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 automatiquement une partition et de la masquer aux techniques de montage en mode graphique. ​   Cela n'​exclut pas une possibilité de montage en ligne de commande. 
 + 
 +Par exemple, pour masquer la partition contenant le  logiciel de windows, les deux lignes à ajouter pourraient être 
 +<​code>​ 
 +##   ​Masquer le montage de la partition windows ​ qui est sur sda5 
 +/​dev/​sda5 none ignore defaults 0 0 
 +</​code>​
 ===== Le fichier mtab ===== ===== Le fichier mtab =====
  
Ligne 279: Ligne 360:
  
 ===== Problèmes éventuels ===== ===== Problèmes éventuels =====
 +==== UUID non valides ====
 +Le fichier fstab peut vouloir monter des partitions avec des erreurs dans les identifiants UUID.
  
 +Ce script permet de vérifier que tous les 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>​
 ==== Dossier de montage inexistant==== ==== Dossier de montage inexistant====
 Il arrive que le répertoire de montage n'​existe pas. Dans ce cas, la commande ''​mount''​ renvoie une erreur explicite. Il suffit de le recréer.\\ Il arrive que le répertoire de montage n'​existe pas. Dans ce cas, la commande ''​mount''​ renvoie une erreur explicite. Il suffit de le recréer.\\
Ligne 306: Ligne 413:
   * [[:​sshfs|SSH Filesystem]] : Montage de système de fichiers à travers le réseau.   * [[:​sshfs|SSH Filesystem]] : Montage de système de fichiers à travers le réseau.
   * [[:​fusauto|FUSAUTO]] : faciliter l'​usage de FUSE   * [[:​fusauto|FUSAUTO]] : faciliter l'​usage de FUSE
-  * [[:​fusible|Fusible]] : Attention, vétuste 
   * [[:​autofs|AutoFS]] : Automatisation du montage des systèmes de fichiers   * [[:​autofs|AutoFS]] : Automatisation du montage des systèmes de fichiers
   * [[:​tutoriel:​monterpartagewindows|Monter un Partage Windows]]   * [[:​tutoriel:​monterpartagewindows|Monter un Partage Windows]]
  • mount_fstab.1526045791.txt.gz
  • Dernière modification: Le 11/05/2018, 15:36
  • par 90.66.104.242