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 12/01/2021, 08:46]
109.7.55.182 [Les bases] LABEL
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 : [[:gnome-disk-utility]] ​est dans les dépôtset sa documentation explique clairement que faire. [[:​disk-manager|Disk-Manager]] est encore plus simple, mais n'est plus maintenu et donc plus dans les dépôts.+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)
  
-Outre la documentation des 2 logiciels ci-dessusle montage graphique est documenté sur la page [[:​montage|Rendre accessible manuellement une partition et d’autres unités de stockage]].</​note>​+Nous allons découvrir ces outilsainsi que quelques commandes utiles.
  
-<note important>​Les informations de cette page s'​adressent aux utilisateurs avancésou à ceux qui souhaiteraient ​le devenir ^_^</​note>​+Quelques liens : [[montage|montage]][[:​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 risquer ​de l'​abîmer. ​\\ Il est préférable de sauvegarder votre fichier ''/​etc/​fstab''​ avant manipulation.</​note>​ +<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>​
-Quelques liens : [[montage|montage]],​ [[:​systeme_de_fichiers|les systèmes de fichiers sous Linux]] ainsi que le portail [[:​partitions|Partitions]].+
 ===== 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 30: Ligne 28:
  
 ==== 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 60: 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 71: Ligne 69:
 </​code>​ </​code>​
 On peut aussi taper la commande : On peut aussi taper la commande :
-<​code>​sudo lsblk -f</​code>​+<​code>​lsblk -fe7</​code>​
 qui donne sensiblement les mêmes résultats : qui donne sensiblement les mêmes résultats :
 <​code>​NAME ​  ​FSTYPE LABEL       ​UUID ​                                ​FSAVAIL FSUSE% MOUNTPOINT <​code>​NAME ​  ​FSTYPE LABEL       ​UUID ​                                ​FSAVAIL FSUSE% MOUNTPOINT
Ligne 89: 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 importante>​ <note importante>​
Ligne 113: 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 127: Ligne 124:
 ==== Droits par défaut du volume ==== ==== Droits par défaut du volume ====
 === Système de fichier linux === === 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]]. ​+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 :\\ Dans notre exemple précédent,​ si ''/​dev/​sdc3''​ est en ext3 :\\
Ligne 158: Ligne 155:
  
 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. \\  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.\\ +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. 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.
  
Ligne 172: 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
-/​dev/​sda5 ​                                   /boot           ​ext2 ​   defaults ​       0       2+/​dev/​sda5 ​                                   /boot           ​ext2 ​   defaults ​         0       2
 # /musique was on /dev/sda8 during installation # /musique was on /dev/sda8 during installation
-LABEL=ma-musique ​                            /​musique ​       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 ont é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 les principales sont :+  - la colonne **<file system>​** indique la partition elle-même. Il y a plusieurs solutions, mais les principales sont :
     - 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**     - 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 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.     - 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.     - 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 **<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 **<​type>​** donne le type de système de fichiers de la partition montée. Pour une partition linux, c'est souvent ext4.
Ligne 197: Ligne 195:
  
 Par exemple une ligne **fstab** type pour un montage d'une partition linux **ext4** sera :\\ Par exemple une ligne **fstab** type pour un montage d'une partition linux **ext4** sera :\\
-''​/​dev/​sdb2 ​  ​/media/partition-plus ​  ext4  defaults ​  2''\\ +<​file>​/​dev/​sdb2 ​                                     /media/toto      ​ext4     ​defaults ​    ​    ​2</​file>​ 
-Qui monte automatiquement la 2e partition du 2e disque dur.\\ +ou mieux (l'UUID est plus stable) 
-Il ne faut juste pas oublier de créer "​l'​ancrage"​ ''/​media/​partition-plus''​ par un **sudo mkdir /media/partition-plus**+<​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. \\ 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). \\ 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 210: 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 227: Ligne 234:
 | ''​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 243: 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 252: 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>​ +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 : 
-Mais dans le cadre d'une utilisation __familiale__,​ avec plusieurs utilisateurs et un groupe appelé, disons ​"famille", on procédera autrement : +  ​soit **sur les éléments eux-mêmes** pour les systèmes de fichiers **compatibles** Linux ( qui gèrent les droits et permissions nativement ​
-<​code>​sudo chown $USER:famille ​/​sauvegarde</​code>​ +  * soit sur l'​ensemble des données montées, **via les options appliquées à leur montage**, pour les systèmes de fichiers **NON compatibles**. 
-Noter l'​absence, ​cette foisde l'​option "​-R"​.\\ +**Idéalement** sur une partition on crée 2 dossiers //par// utilisateur potentiel : 
-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** :\\ +  * un « principal » **lui appartenant**,​ //dans// lequel il pourra écrire, modifier, supprimer… ranger toutes //ses// affaires ;\\ 
-<​code>​sudo chown -R toto:​toto ​ /​sauvegarde/​toto +  * un dossier corbeille, **appartenant** à cet utilisateur ( sous Linux, il y a une corbeille par partition //et// par utilisateur. )\\ 
-sudo chown -R tata:​tata ​ /​sauvegarde/​tata +**Rappelons qu'​un ​//chmod 777// est DANGEREUX** :\\ 
-sudo chown -R titi:​titi ​ /​sauvegarde/​titi +un élément qui porte les droits //​rwxrwx**rwx**//​ accorde //tous les droits// à quiconque y accédant ( localement ou à distance )…</​note>​ 
-sudo chown -R $USER:​famille ​ /​sauvegarde/​famille</​code>​+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 //tototata, 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.==== ==== 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. 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 +Par exemple, pour masquer la partition contenant le  logiciel de windows, les deux lignes à ajouter pourraient être
 <​code>​ <​code>​
 ##   ​Masquer le montage de la partition windows ​ qui est sur sda5 ##   ​Masquer le montage de la partition windows ​ qui est sur sda5
Ligne 318: Ligne 365:
 Ce script permet de vérifier que tous les UUID sont correctes dans le fstab : Ce script permet de vérifier que tous les UUID sont correctes dans le fstab :
  
 +<file bash monfic.sh>​
 +#!/bin/sh
  
-<​code>​ +fstabUUID="$(sed -nE 's/UUID=([^ ]+) .*/\1/p' ​/etc/fstab)" 
-fstabUUID=$(cat /etc/fstab | cut -d"#"​ -f1 | grep UUID= | cut -c6- | cut -d" " -f1 | cut -d$'\t' ​-f1+validUUID="$(ls -/​dev/​disk/​by-uuid)
-validUUID=$(ls -/​dev/​disk/​by-uuid ​| cut -d" " -f10+ 
-  +nbUUIDValid=0 
-for uuid in $fstabUUIDdo + 
-echo $validUUID | grep $uuid > /dev/null +for uuid in $fstabUUID 
-  +do 
-if [[ $? == 0 ]];then + if echo "$validUUID" ​| grep -q "$uuid" 
-echo $uuid OK + then 
-else + echo "$uuid OK
-echo $uuid is in fstab but not in the system ​/​dev/​disk/​by-uuid + nbUUIDValid=$((nbUUIDValid+1)) 
-fi+ else 
 + echo "$uuid est dans fstab mais pas dans /​dev/​disk/​by-uuid" 
 + fi
 done done
-</​code>​ 
  
 +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.\\
  • mount_fstab.1610437600.txt.gz
  • Dernière modification: Le 12/01/2021, 08:46
  • par 109.7.55.182