Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
mount_fstab [Le 20/10/2022, 18:14] Coeur Noir [Utilisation avancée] |
mount_fstab [Le 24/03/2025, 16:01] (Version actuelle) krodelabestiole lien SSD / recommandations obsolètes pour SSD / sur le web souligné = lien, etc. (cf recommandations) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>système partitions}} | {{tag>système partitions}} | ||
- | |||
- | ---- | ||
====== mount et fstab : Le montage des systèmes de fichiers ====== | ====== mount et fstab : Le montage des systèmes de fichiers ====== | ||
Ligne 9: | Ligne 7: | ||
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 seule, par exemple). | 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 seule, par exemple). | ||
- | Les montages automatiques (au démarrage) sont définis dans le fichier ''/etc/fstab''. Ce fichier peut-être modifié soit manuellement, soit automatiquement (le logiciel de référence étant [[gnome-disk-utility]], normalement installé par défaut). | + | Les montages automatiques (au démarrage) sont définis dans le fichier ''/etc/fstab''. Ce fichier peut-être modifié soit manuellement, soit automatiquement (le logiciel de référence étant [[:gnome-disk-utility|GNOME Disques]], normalement installé par défaut). |
Nous allons découvrir ces outils, ainsi que quelques commandes utiles. | Nous allons découvrir ces outils, ainsi que quelques commandes utiles. | ||
- | Quelques liens : [[montage|montage]], [[:systeme_de_fichiers|les systèmes de fichiers sous Linux]] ainsi que le portail [[:partitions|Partitions]]. | + | Quelques liens : [[:montage]], [[:systeme_de_fichiers|les systèmes de fichiers sous Linux]] ainsi que le portail [[: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.\\ | <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> | 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 28: | 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 56: | Ligne 57: | ||
==== Note sur les UUIDs ==== | ==== Note sur les UUIDs ==== | ||
+ | |||
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.\\ | ||
Ligne 87: | Ligne 89: | ||
===== 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 ''[[man>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 (idéalement un sous-répertoire de **/media**, mais ce n'est pas strictement obligatoire). | + | 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). |
- | <note importante> | + | <note important> |
- | **__Point de montage dont le nom comporte un espace.__** | + | **Pour les points de montage dont le nom contient un espace :** |
- | + | * avec la commande ''mount'' : l'espace doit être précédé d'un caractère d’échappement ''\'', ou l'ensemble du [[:chemins|chemin]] mis entre guillemets simples ''%%'%%'' ou doubles ''"''. | |
- | __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 **""** . | + | * dans ''fstab'' : l'espace doit être remplacé par ''\040''. |
- | + | ||
- | __Pour Fstab :__ l'espace doit être remplacé par **\040** . | + | |
</note> | </note> | ||
Ligne 110: | 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 : | ||
Ligne 154: | Ligne 154: | ||
===== Le fichier fstab (montage automatique) ===== | ===== Le fichier fstab (montage automatique) ===== | ||
- | 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 161: | Ligne 161: | ||
==== Les bases ==== | ==== Les bases ==== | ||
- | Le fichier /etc/fstab suivant résume une configuration classique : | + | |
+ | Le fichier ''/etc/fstab'' suivant résume une configuration classique : | ||
<file> | <file> | ||
# /etc/fstab: static file system information. | # /etc/fstab: static file system information. | ||
Ligne 180: | Ligne 181: | ||
</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 4 principales sont : | + | - la colonne ''<file system>'' indique la partition elle-même. Il y a plusieurs solutions, mais les 4 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 Disques]], ou via [[:GParted]]. Un UUID ressemble à cela ''UUID=2c442228-1991-48c7-bad9-a80dfc8267cf''. |
- | - La référence directe à la partition sous la forme **/dev/sda2** ou **/dev/sdb2** (**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). | + | - 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'' (il s'agit du protocole SMB). |
- | - la colonne **<mount point>** indique un répertoire quelconque sur la partition principale, et qui servira de point de montage. Pour la partition principale elle-même, c'est évidemment "**/**" (la racine). Pour une partition montée additionnelle, on choisit en général (ce n'est pas un emplacement obligatoire) un répertoire /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. |
- | - 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 via l'utilitaire **[[dump|dump]]**. La valeur classique est **0** (dump n'est presque jamais actif ou utilisé). | + | - la colonne ''<dump>'' règle les sauvegardes via l'utilitaire ''[[: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: | + | - 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é, | + | * ''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), | + | * ''2'' pour les autres partitions Linux (les partitions "externes" que vous souhaitez monter) => ce ''2'' fera les vérifications //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. |
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 :\\ | ||
Ligne 199: | Ligne 200: | ||
<file>UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb /media/toto ext4 defaults 0 2</file> | <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.\\ | 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'' : | + | 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). | <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). | + | //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. \\ | ||
Ligne 210: | Ligne 211: | ||
sudo mount -a | 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. | 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>**. | ||
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 224: | Ligne 227: | ||
| ''**_netdev**'' | Le système de fichiers est sur une machine qui nécessite un accès réseau. Cela indique au système d'attendre que la configuration réseau soit active avant de procéder au montage | ?? | | | ''**_netdev**'' | Le système de fichiers est sur une machine qui nécessite un accès réseau. Cela indique au système d'attendre que la configuration réseau soit active avant de procéder au montage | ?? | | ||
| ''**async**'' | Montage asynchrone (par défaut) | Tous | | | ''**async**'' | Montage asynchrone (par défaut) | Tous | | ||
- | | ''**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 | Norme POSIX | |
| ''sw'' | Spécifique à l'activation des partitions swap | swap | | | ''sw'' | Spécifique à l'activation des partitions swap | swap | | ||
- | | ''discard'' | active le [[/ssd_solid_state_drive#la_commande_trimactivation_et_utilisation|TRIM]] sur les partitions SSD (à rajouter manuellement) | ext4, btrfs (SSD) | | + | | ''discard'' | active le [[:ssd#TRIM]] pour les partitions sur [[:SSD]] (//inutile// car Ubuntu exécute automatiquement ''[[man>fstrim]]'') | [[:ext4]], [[:btrfs]] ([[:SSD]]) | |
D'autres options restent moins fréquentes (Liste non exhaustive) : | D'autres options restent moins fréquentes (Liste non exhaustive) : | ||
Ligne 238: | Ligne 241: | ||
| ''dmask='' | Spécifie les droits d'usage des dossiers (si omis : ''umask'' actuel) | Formats non-Linux | | | ''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) | CIFS uniquement | | | ''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 | | + | | ''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 | | ||
+ | |''x-systemd.device-timeout='' |Configure le délai d'attente par défaut pour les appareils. Defaut à 90s|| | ||
| ''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 | | | ''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 :\\ | <note important>Les options disponibles :\\ | ||
Ligne 249: | Ligne 254: | ||
et [[tutoriel:monterpartagewindows|Monter des partages Windows au démarrage]] | et [[tutoriel:monterpartagewindows|Monter des partages Windows au démarrage]] | ||
- | __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 un éditeur de texte « graphique » qui propose un mode administrateur, par exemple : | 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 : | ||
Ligne 265: | Ligne 270: | ||
<code>sudo mkdir /sauvegarde</code> | <code>sudo mkdir /sauvegarde</code> | ||
Comme ce dernier appartient ( légitimement ) à root, aucun autre utilisateur n'a le droit d'y écrire.\\ | Comme ce dernier appartient ( légitimement ) à root, aucun autre utilisateur n'a le droit d'y écrire.\\ | ||
- | On peut se rendre **propriétaire** du point de montage - sachant que par conséquent seul cet utilisateur aura le droit d'écrire dans //toute// cette partition.\\ | + | On peut se rendre **propriétaire** du point de montage - sachant que par conséquent seul cet utilisateur aura le droit d'écrire dans //toute// cette partition. |
- | <note warning>Le dossier qui sert de point de montage à une partition appartient par défaut à //root:root//\\ | + | <note warning>Le répertoire qui sert de point de montage à une partition appartient par défaut à ''root:root'' avec droits ''rwxr-xr-x'' (ou ''755'') car il s'agit d'un élément //matériel// (une [[:partitions|partition]]) géré par le //système//.\\ |
- | 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//.\\ | + | |
- | 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.\\ | + | |
\\ | \\ | ||
- | **Idéalement** sur une partition on crée 2 dossiers //par// utilisateur potentiel : | + | 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 : |
- | * un « principal » **lui appartenant**, //dans// lequel il pourra écrire, modifier, supprimer… ranger toutes //ses// affaires ;\\ | + | * soit **sur les éléments eux-mêmes** pour les systèmes de fichiers UNIX - compatibles Linux (qui gèrent les droits et permissions nativement) |
- | * un dossier corbeille, **appartenant** à cet utilisateur ( sous Linux, il y a une corbeille par partition //et// par utilisateur. ) | + | * soit sur l'ensemble des données montées, **via les options appliquées à leur montage**, pour les systèmes de fichiers **NON UNIX** (//Microsoft//, etc.). |
- | \\ | + | Idéalement sur une partition on crée 2 répertoires par utilisateur potentiel : |
- | **Rappelons qu'un //chmod 777// est DANGEREUX** :\\ | + | * un « principal » lui appartenant, dans lequel il pourra écrire, modifier, supprimer… ranger toutes ses affaires |
- | un élément qui porte les droits //rwxrwx**rwx**// accorde //tous les droits// à quiconque y accédant ( localement ou à distance )…</note> | + | * un répertoire corbeille, appartenant aussi à cet utilisateur (sous Linux, il y a une corbeille par partition //et// par utilisateur.) |
- | Si on est __seul__ utilisateur du pc, ceci suffirait ( mais n'est pas idéal car restrictif ) : | + | |
+ | **Rappelons qu'un ''chmod 777'' est DANGEREUX** :\\ | ||
+ | un élément qui porte les droits ''rwxrwxrwx'' accorde //tous les droits// à quiconque y accédant (localement ou à distance) et permet entre autre de créer et exécuter des scripts.</note> | ||
+ | Si on est seul utilisateur du pc, ceci suffirait (mais n'est pas idéal car restrictif) : | ||
<code>sudo chown $USER:$USER /sauvegarde</code> | <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 : | + | Dans le cadre d'une utilisation //familiale//, avec plusieurs utilisateurs ''toto'', ''tata'' et ''titi'', et un groupe appelé, disons ''famille'', on procédera autrement (voir [[:tutoriel:dossier_de_partage|les explications]]) : |
- | * on s'assure que les droits et permissions du point de montage sont dans la situation saine et souhaitable pour du //matériel// : | + | * on s'assure que les [[:droits]] et [[:permissions]] du point de montage soient corrects : |
<code>sudo chown root:root /sauvegarde | <code>sudo chown root:root /sauvegarde | ||
sudo chmod 755 /sauvegarde</code> | sudo chmod 755 /sauvegarde</code> | ||
- | * on crée à la racine de cette partition les dossiers pour chaque utilisateur //toto, tata, titi// et //famille// : | + | * 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> | <code>sudo mkdir /sauvegarde/{toto,tata,titi,famille}</code> | ||
* on attribue chacun de ces répertoires à ses propriétaires adéquats :\\ | * on attribue chacun de ces répertoires à ses propriétaires adéquats :\\ | ||
Ligne 289: | Ligne 295: | ||
sudo chown titi:titi /sauvegarde/titi | sudo chown titi:titi /sauvegarde/titi | ||
sudo chown root:famille /sauvegarde/famille</code> | 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 : | + | Pour que les utilisateurs ''tata'', ''titi'' et ''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//**, | + | * ce répertoire ( dont //les// propriétaires sont l'utilisateur ''root'' et le groupe ''famille'') accorde le droit d'écriture au groupe ''famille'', |
- | * les éléments créés dans ce dossier **« héritent » les droits et permissions du groupe** de ce dossier | + | * les éléments créés dans ce répertoire « héritent » les droits et permissions du groupe propriétaire de ce répertoire |
<code>sudo chmod 2775 /sauvegarde/famille # le 2 signifiant bit sgid</code> | <code>sudo chmod 2775 /sauvegarde/famille # le 2 signifiant bit sgid</code> | ||
- | Dorénavant :\\ | + | 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 ''toto'' peut écrire, modifier, supprimer des éléments dans //son// répertoire ''/sauvegarde/toto'', les //autres// peuvent seulement lire et accéder à ce répertoire ; |
- | * seul l'utilisateur **tata** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/sauvegarde/tata'', les //autres// peuvent seulement lire et accéder à ce dossier ; | + | * seul l'utilisateur ''tata'' peut écrire, modifier, supprimer des éléments dans //son// répertoire ''/sauvegarde/tata'', les //autres// peuvent seulement lire et accéder à ce répertoire ; |
- | * seul l'utilisateur **titi** peut écrire, modifier, supprimer des éléments dans **son** dossier ''/sauvegarde/titi'', les //autres// peuvent seulement lire et accéder à ce dossier ; | + | * seul l'utilisateur ''titi'' peut écrire, modifier, supprimer des éléments dans //son// répertoire ''/sauvegarde/titi'', les //autres// peuvent seulement lire et accéder à ce répertoire ; |
- | * **seuls** les utilisateurs **membres** du groupe //famille// peuvent écrire, modifier, supprimer des éléments dans le dossier ''/sauvegarde/famille'', 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 répertoire ''/sauvegarde/famille'', les //autres// peuvent seulement lire et accéder à ce répertoire. |
- | Si vous êtes un peu parano, et souhaitez que **seuls les membres du groupe //famille//** puissent accéder au dossier ''/sauvegarde/famille'' alors :\\ | + | Si vous souhaitez que //seuls// les membres du groupe ''famille'' puissent accéder au répertoire ''/sauvegarde/famille'', alors : |
<code>sudo chmod 2770 /sauvegarde/famille</code> | <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 : | + | En l'état dans ce répertoire ''/sauvegarde/famille'' tous les membres du groupe //famille// peuvent effacer n'importe quel élément : ''toto'' pourrait effacer un élément appartenant à ''titi'' ou ''tata'', et vice-versa. Si vous souhaitez restreindre la possibilité d'effacer à seulement l'utilisateur propriétaire d'un élément, alors :((sources :\\ |
+ | [[https://www.redhat.com/sysadmin/suid-sgid-sticky-bit|les bits sgid suid et sticky]] ⋅ [[:droits|Droits d'accès sous Linux : gérer les accès aux fichiers]] ⋅ [[:permissions|Gérer les droits d'accès (propriétés et permissions) des fichiers et répertoires]]\\ | ||
+ | [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22544820#p22544820|exemple commenté]] dans le forum ou ce [[:organiser_data_utilisateurs#mise_en_œuvre|point 4.1]] évoquent la création des **corbeilles**.)) | ||
<code>sudo chmod 3770 /sauvegarde/famille # 3 signifiant sticky bit + bit sgid = 1+2</code> | <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]]\\ | + | 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).\\ |
- | [[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**. | + | //OU//\\ |
- | \\ | + | plutôt que de créer ce point de montage ''/sauvegarde'' à la racine de votre système, créez le dans le répertoire ''/media'' : |
- | \\ | + | * tout élément visible dans ce répertoire 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. ) |
- | 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).\\ | + | * par ailleurs les applications « confinées » ( type [[:snap]] ou [[:flatpak]] ) se banalisant, un tel point de montage directement à la racine système leur est inaccessible. |
- | **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.==== | ||
Ligne 329: | Ligne 334: | ||
===== Monter un répertoire avec l'option ''bind'' de la commande ''mount'' ===== | ===== Monter un répertoire avec l'option ''bind'' de la commande ''mount'' ===== | ||
- | Il est parfois utile de monter non pas un volume, mais un dossier dans un autre. Ceci peut ressembler à un lien logique mais c'est beaucoup plus puissant, notamment : | + | Il est parfois utile de monter non pas un volume, mais un répertoire dans un autre. Ceci peut ressembler à un lien logique mais c'est beaucoup plus puissant, notamment : |
* pour un [[:chroot|chroot]] dans un compte FTP | * pour un [[:chroot|chroot]] dans un compte FTP | ||
* pour monter des fichiers dans un système de fichiers en lecture seule (où on ne peut donc pas créer de liens) (CD,…) | * pour monter des fichiers dans un système de fichiers en lecture seule (où on ne peut donc pas créer de liens) (CD,…) | ||
Ligne 340: | Ligne 345: | ||
</code> \\ | </code> \\ | ||
- | Si on veut rendre un dossier privé public (comme un lien, en fait ) | + | Si on veut rendre un répertoire privé publique (comme un lien, en fait ) |
<code>mount --bind /home/moi/dossier-à-partager /home/répertoire-accessible-à-tous</code> | <code>mount --bind /home/moi/dossier-à-partager /home/répertoire-accessible-à-tous</code> | ||
Ici, les droits d'écriture ne changent pas : si vous voulez donner le droit d'écrire aux autres utilisateurs, il faudra modifier aussi les droits de ''/home/moi/dossier-à-partager'' et pas seulement à ''/home/répertoire-accessible-à-tous''. | Ici, les droits d'écriture ne changent pas : si vous voulez donner le droit d'écrire aux autres utilisateurs, il faudra modifier aussi les droits de ''/home/moi/dossier-à-partager'' et pas seulement à ''/home/répertoire-accessible-à-tous''. | ||
Ligne 385: | Ligne 390: | ||
echo "nombre d'UUID validé(s) : $nbUUIDValid" | echo "nombre d'UUID validé(s) : $nbUUIDValid" | ||
</file> | </file> | ||
- | ==== Dossier de montage inexistant==== | + | |
+ | ==== Répertoire 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.\\ | ||
- | Toujours dans notre exemple : (l'option ''-p'' permet de créer récursivement les dossiers parents s'il n'existent pas) | + | Toujours dans notre exemple : (l'option ''-p'' permet de créer récursivement les répertoires parents s'il n'existent pas) |
<code> | <code> | ||
sudo mkdir -p /media/stock | sudo mkdir -p /media/stock | ||
</code> | </code> | ||
+ | |||
==== Fichiers occupés ==== | ==== Fichiers occupés ==== | ||
+ | |||
Un système de fichier ne peut être démonté tant que certains de ses fichiers sont ouverts par des processus. \\ | Un système de fichier ne peut être démonté tant que certains de ses fichiers sont ouverts par des processus. \\ | ||
Le cas le plus simple est que le répertoire de travail actuel est dans le volume que vous voulez démonter. Sinon, la commande ''lsof'' permet de lister tous les fichiers ouverts. En arrêtant les processus qui utilisent le volume, le démontage devient possible. \\ | Le cas le plus simple est que le répertoire de travail actuel est dans le volume que vous voulez démonter. Sinon, la commande ''lsof'' permet de lister tous les fichiers ouverts. En arrêtant les processus qui utilisent le volume, le démontage devient possible. \\ | ||
Ligne 399: | Ligne 408: | ||
==== Les logiciels utilisant un volume sont perdus ==== | ==== Les logiciels utilisant un volume sont perdus ==== | ||
- | Imaginons que vous ayez modifié le dossier de montage de ''/media/moi/stock'' en ''/home/moi/stockage''. \\ | + | |
+ | Imaginons que vous ayez renommé le répertoire de montage de ''/media/moi/stock'' en ''/home/moi/stockage''. | ||
Il est possible que des logiciels utilisent des fichiers dans ''/media/moi/stock'' ; Pour éviter des problèmes de fonctionnement, vous pouvez (si vous pensez que c'est nécessaire) créer un lien symbolique de l'ancien point de montage vers le nouveau : | Il est possible que des logiciels utilisent des fichiers dans ''/media/moi/stock'' ; Pour éviter des problèmes de fonctionnement, vous pouvez (si vous pensez que c'est nécessaire) créer un lien symbolique de l'ancien point de montage vers le nouveau : | ||
Ligne 407: | Ligne 417: | ||
Voilà ! | Voilà ! | ||
+ | |||
===== Autres pages sur le sujet ===== | ===== Autres pages sur le sujet ===== | ||
+ | |||
* [[:fuse|FUSE]] : Montage simplifié des systèmes de fichiers. | * [[:fuse|FUSE]] : Montage simplifié des systèmes de fichiers. | ||
* [[: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. | ||
Ligne 413: | Ligne 425: | ||
* [[: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]] | ||
- | |||
- | |||
- | |||
---- | ---- | ||
//Contributeurs : [[:utilisateurs:helly|helly]]// (Auteur principal) //[[utilisateurs:felixp|FélixP]]// (Retouche Octobre2013) | //Contributeurs : [[:utilisateurs:helly|helly]]// (Auteur principal) //[[utilisateurs:felixp|FélixP]]// (Retouche Octobre2013) |