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 04/12/2017, 06:09]
moko138 [Le fichier fstab] "sw"
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>​sudo 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 :
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. \\ Il est composé de plusieurs lignes décrivant chacune les conditions de montage de chaque système de fichier.+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 ​partition / système de fichier
 +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 ====
 Le fichier /etc/fstab suivant résume une configuration classique : Le fichier /etc/fstab suivant résume une configuration classique :
 <​file>​ <​file>​
Ligne 151: 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>​
-  ​* ''​dump''​ est utilisé pour les sauvegardes ; +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. 
-  * ''​pass''​ pour l'ordre de vérification au démarrage. +  - la colonne ​**<file system>​** indique la partition elle-même. Il y a plusieurs solutions, mais les 4 principales sont : 
-Laissez-y les valeurs par défaut. Si vous ajoutez manuellement des  partitions ​par la suite, les valeurs de <​pass>​ doivent ​rester à +    - 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** 
-  * 1 pour la racine +    - 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. 
-  * 2 pour les autres partitions Linux +    - 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. 
-  * 0 pour le swap et les partitions windows (cf. [[man>​fstab]]) +    - 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). 
-Une valeur de <passà 0 signifie qu'il n'y aura pas de vérification ​au démarrage (Déconseillé sauf pour la swap et les systèmes de fichiers windows).\\ +  ​- 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. 
-Lorsqu'​un système de fichier est présent dans le fichier /etc/fstab, tous les utilisateurs peuvent le monter en tapant "mount /​media/​stock"​ par exemple. En outre, il est monté automatiquement au démarrage de la machine\\+  - 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 **<​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 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) => vérif de cette partition en priorité, 
 +     * **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.
  
 +Par exemple une ligne **fstab** type pour un montage d'une partition linux **ext4** sera :\\
 +<​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 ====
 +Pour aller plus loin, voici la liste des options pour la colonne **<​option>​**.
 Certaines options sont communes à tous les systèmes de fichiers, d'​autres sont spécifiques à la norme [[wpfr>​POSIX]] (tous les systèmes de fichiers Linux), d'​autres à certains systèmes de fichiers. Voici la plupart des options que vous pourrez rencontrer : Certaines options sont communes à tous les systèmes de fichiers, d'​autres sont spécifiques à la norme [[wpfr>​POSIX]] (tous les systèmes de fichiers Linux), d'​autres à certains systèmes de fichiers. Voici la plupart des options que vous pourrez rencontrer :
  
Ligne 175: 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 184: 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 208: 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 217: 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 =====
  
 Le fichier ///​**etc/​mtab**//​ contient la liste des montages effectués, que ce soit via fstab ou en ligne de commande avec mount. Il peut être utile de visualiser son contenu pour vérifier qu'un montage est effectif. \\ Le fichier ///​**etc/​mtab**//​ contient la liste des montages effectués, que ce soit via fstab ou en ligne de commande avec mount. Il peut être utile de visualiser son contenu pour vérifier qu'un montage est effectif. \\
-Mieux encore, il est peut servir de base, après un test avec mount, pour modifier le fichier fstab. Voir le tutoriel à ce sujet : [[tutoriel/​monter_un_volume_automatiquement|tutoriel monter un volume automatiquement]]+Mieux encore, il peut servir de base, après un test avec mount, pour modifier le fichier fstab. Voir le tutoriel à ce sujet : [[tutoriel/​monter_un_volume_automatiquement|tutoriel monter un volume automatiquement]]
  
 ===== Monter un répertoire avec l'​option ''​bind''​ de la commande ''​mount''​ ===== ===== Monter un répertoire avec l'​option ''​bind''​ de la commande ''​mount''​ =====
Ligne 269: 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 296: 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.1512364155.txt.gz
  • Dernière modification: Le 04/12/2017, 06:09
  • par moko138