18.2. Monter un système de fichiers

Pour attacher un certain système de fichiers, veuillez utiliser la commande mount sous la forme suivante :
mount [option] device directory
device peut être identifié par un chemin d'accès complet vers un périphérique bloc (par exemple, « /dev/sda3 »), un identifiant unique universel (UUID) ; par exemple, « UUID=34795a28-ca6d-4fd8-a347-73671d0c19cb »), ou une étiquette de volume (par exemple, « LABEL=home »). Remarquez que tant qu'un système de fichiers est monté, le contenu d'origine du répertoire directory sera inaccessible.

Important

Linux n'empêche pas un utilisateur de monter un système de fichiers sur un répertoire possédant déjà un système de fichiers qui y est attaché. Pour déterminer si un répertoire en particulier sert de point de montage, veuillez exécuter l'utilitaire findmnt avec le répertoire en tant qu'argument et vérifiez le code de sortie :
findmnt directory; echo $?
Si aucun système de fichiers n'est attaché au répertoire, la commande ci-dessus retournera 1.
Lorsque la commande mount est exécutée sans toutes les informations requises (c'est-à-dire sans le nom de périphérique, le répertoire cible, ou le type de système de fichiers), la commande mount lit le contenu du fichier de configuration /etc/fstab pour voir si le système de fichiers donné est répertorié. Ce fichier /etc/fstab contient une liste de noms de périphériques et les répertoires dans lesquels les systèmes de fichiers sélectionnés doivent être montés, ainsi que le type de système de fichiers et les options de montage. De ce fait, lors du montage d'un système de fichiers qui est spécifié dans ce fichier /etc/fstab, vous pouvez utiliser l'une des variantes suivantes de la commande :
mount [option] directory
mount [option] device
Remarquez que des permissions sont requises pour monter les systèmes de fichiers, à moins que la commande ne soit exécutée en tant que root (voir la Section 18.2.2, « Spécifier les options de montage »).

Note

Pour déterminer l'UUID et, si le périphérique les utilise, l'étiquette d'un périphérique en particulier, veuillez utiliser la commande blkid sous le format suivant :
blkid device
Par exemple, pour afficher des informations sur /dev/sda3, veuillez saisir :
~]# blkid /dev/sda3
/dev/sda3: LABEL="home" UUID="34795a28-ca6d-4fd8-a347-73671d0c19cb" TYPE="ext3"

18.2.1. Spécifier le type de système de fichiers

Dans la plupart des cas, mount détecte le système de fichiers automatiquement. Cependant, certains systèmes de fichiers, tels que NFS (« Network File System ») ou CIFS (« Common Internet File System ») ne sont pas reconnus, et doivent être spécifiés manuellement. Pour spécifier le type de système de fichiers, veuillez utiliser la commande mount sous le format suivant :
mount -t type périphérique répertoire
Tableau 18.1, « Types de systèmes de fichiers communs » fournit une liste des types de système de fichiers communs pouvant être utilisés avec la commande mount. Pour une liste complète de tous les types de système de fichiers disponibles, veuillez consulter la page du manuel correspondante comme indiqué dans la Section 18.4.1, « Documentation installée ».

Tableau 18.1. Types de systèmes de fichiers communs

TypeDescription
ext2Système de fichiers ext2.
ext3Système de fichier ext3.
ext4Système de fichiers ext4.
btrfsSystème de fichiers btrfs.
xfsSystème de fichiers xfs.
iso9660Système de fichiers ISO 9660. Communément utilisé par les supports optiques, comme les CD.
jfsSystème de fichier JFS créé par IBM.
nfsSystème de fichiers NFS. Celui-ci est communément utilisé pour accéder à des fichiers sur un réseau.
nfs4Système de fichiers NFSv4. Celui-ci est communément utilisé pour accéder à des fichiers sur un réseau.
ntfsSystème de fichiers NTFS. Celui-ci est communément utilisé sur des ordinateurs exécutant un système d'exploitation Windows.
udfSystème de fichiers UDF. Communément utilisé par les supports optiques, comme les DVD.
vfatSystème de fichiers FAT. Celui-ci est communément utilisé sur les ordinateurs exécutant un système d'exploitation Windows ainsi que sur certains supports numériques, tels que les lecteurs flash USB ou les disquettes.
Veuillez consulter l'Exemple 18.2, « Monter un disque flash USB » pour voir un exemple d'utilisation.

Exemple 18.2. Monter un disque flash USB

Les lecteurs flash USB plus anciens utilisent souvent le système de fichiers FAT. En supposant que ce type de lecteur utilise le périphérique /dev/sdc1 et que le répertoire /media/flashdisk/ existe, veuillez le monter sur ce répertoire en saisissant ce qui suit à l'invite shell en tant qu'utilisateur root :
~]# mount -t vfat /dev/sdc1 /media/flashdisk

18.2.2. Spécifier les options de montage

Pour spécifier des options de montage supplémentaires, veuillez utiliser la commande sous le format suivant :
mount -o options périphérique répertoire
Lorsque plusieurs options sont fournies, veuillez ne pas insérer d'espace après une virgule, sinon la commande mount interprétera incorrectement les valeurs qui suivent les espaces en tant que paramètres supplémentaires.
Tableau 18.2, « Options de montage communes » fournit une liste d'options de montage communes. Pour une liste complète de toutes les options disponibles, veuillez consulter la page du manuel correspondante comme indiqué dans la Section 18.4.1, « Documentation installée ».

Tableau 18.2. Options de montage communes

OptionDescription
asyncPermet les opérations d'entrées/sorties asynchrones sur le système de fichiers.
autoPermet au système de fichiers d'être monté automatiquement en utilisant la commande mount -a.
defaultsFournit un alias pour async,auto,dev,exec,nouser,rw,suid.
execPermet l'exécution de fichiers binaires sur un système de fichiers particulier.
loopMonte une image en tant que périphérique boucle.
noautoLe comportement par défaut interdit le montage automatique du système de fichiers à l'aide de la commande mount -a.
noexecInterdit l'exécution de fichiers binaires sur le système de fichiers en particulier.
nouserInterdit à un utilisateur normal (c'est-à-dire autre que root) de monter et démonter le système de fichiers.
remountRemonte le système de fichiers au cas où il serait déjà monté.
roMonte le système de fichiers en lecture seule.
rwMonte le système de fichier en lecture et écriture.
userPermet à un utilisateur normal (c'est-à-dire autre que root) de monter et démonter le système de fichiers.
Veuillez consulter l'Exemple 18.3, « Monter une image ISO » pour un exemple d'utilisation.

Exemple 18.3. Monter une image ISO

Une image ISO (ou une image de disque en général) peut être montée en utilisant le périphérique boucle. En supposant que l'image ISO du disque d'installation Fedora 14 se trouve dans le répertoire de travail actuel et que le répertoire /media/cdrom/ existe, veuillez monter l'image sur ce répertoire en exécutant la commande suivante en tant qu'utilisateur root :
~]# mount -o ro,loop Fedora-14-x86_64-Live-Desktop.iso /media/cdrom
Remarquez qu'ISO 9660 est, de par sa conception, un système de fichiers en lecture seule.

18.2.3. Partager des montages

De manière occasionnelle, certaines tâches d'administration système requièrent d'avoir accès au même système de fichiers à partir de plusieurs emplacements dans l'arborescence des répertoires (par exemple, lors de la préparation d'un environnement chroot). Ceci est possible, et Linux vous autorise à monter le même système de fichiers sur autant de répertoires que nécessaire. En outre, la commande mount implémente l'option --bind qui fournit un moyen pour dupliquer certains montages. Son utilisation fonctionne comme suit :
mount --bind old_directory new_directory
Même si cette commande permet à un utilisateur d'accéder au système de fichiers à partir de ces deux emplacements, celle-ci ne s'applique pas aux systèmes de fichiers qui sont montés à l'intérieur du répertoire d'origine. Pour également inclure ces montages, veuillez saisir :
mount --rbind old_directory new_directory
De plus, afin de fournir autant de flexibilité que possible, Red Hat Enterprise Linux 7 implémente la fonctionnalité connue sous le nom de sous-arborescence partagée. Cette fonctionnalité permet l'utilisation des quatre types de montage suivants :
Shared Mount
Un montage partagé permet la création d'une réplique exacte d'un point de montage donné. Lorsqu'un point de montage est marqué en tant que montage partagé, tout montage à l'intérieur du point de montage d'origine est reflété dedans, et vice-versa. Pour modifier le type d'un point de montage en montage partagé, veuillez saisir la commande suivante à l'invite shell :
mount --make-shared mount_point
De manière alternative, pour modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci, veuillez saisir :
mount --make-rshared mount_point
Veuillez consulter Exemple 18.4, « Créer un point de montage partagé » pour un exemple d'utilisation.

Exemple 18.4. Créer un point de montage partagé

Il existe deux emplacements dans lesquels les autres systèmes de fichiers sont communément montés : le répertoire /media pour les supports amovibles, et le répertoire /mnt pour les systèmes de fichiers montés temporairement. En utilisant un montage partagé, vous pouvez faire en sorte que ces deux répertoires partagent le même contenu. Pour ce faire, en tant qu'utilisateur root, marquez le répertoire /media en tant que répertoire « partagé » :
~]# mount --bind /media /media
~]# mount --make-shared /media
Puis créez son double dans /mnt en utilisant la commande suivante :
~]# mount --bind /media /mnt
Il est désormais possible de vérifier qu'un montage à l'intérieur de /media apparaît aussi dans /mnt. Par exemple, si le lecteur CD-ROM contient un support qui n'est pas vide et que le répertoire /media/cdrom/ existe, veuillez exécuter les commandes suivantes :
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
De la même manière, il est possible de vérifier que n'importe quel système de fichiers monté dans le répertoire /mnt se reflètera dans /media. Par exemple, si un lecteur flash USB qui utilise le périphérique /dev/sdc1 est enfiché et que le répertoire /mnt/flashdisk/ est présent, veuillez saisir :
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
en-US  publican.cfg
~]# ls /mnt/flashdisk
en-US  publican.cfg
Slave Mount
Un montage esclave permet la création d'un double limité d'un point de montage donné. Lorsqu'un point de montage est marqué en tant que montage esclave, tout montage dans le point de montage d'origine y sera reflété, mais aucun montage à l'intérieur d'un montage esclave n'est reflété dans son point d'origine. Pour modifier le type d'un point de montage en montage esclave, veuillez saisir ce qui suit à l'invite shell :
mount --make-slave mount_point
Alternativement, il est possible de modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci en saisissant :
mount --make-rslave mount_point
Veuillez consulter l'Exemple 18.5, « Créer un point de montage esclave » pour voir un exemple d'utilisation.

Exemple 18.5. Créer un point de montage esclave

Cet exemple montre comment faire pour que le contenu du répertoire /media soit également affiché dans /mnt, mais sans qu'aucun montage du répertoire /mnt ne soit reflété dans /media. En tant qu'utilisateur root, veuillez marquer le répertoire /media en tant que répertoire « partagé » :
~]# mount --bind /media /media
~]# mount --make-shared /media
Puis créez son dupliqué dans /mnt, mais marquez-le en tant qu'« esclave » :
~]# mount --bind /media /mnt
~]# mount --make-slave /mnt
Veuillez vérifier qu'un montage à l'intérieur de /media apparaîsse aussi dans /mnt. Par exemple, si le lecteur CD-ROM contient un support qui n'est pas vide et que le répertoire /media/cdrom/ existe, veuillez exécuter les commandes suivantes :
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
Veuillez également vérifier qu'aucun des systèmes de fichiers montés dans le répertoire /mnt ne soit reflété dans /media. Par exemple, si un lecteur flash USB qui utilise le périphérique /dev/sdc1 est attaché et que le répertoire /mnt/flashdisk/ est présent, veuillez saisir :
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
Private Mount
Un montage privé est le type de montage par défaut, contrairement à un montage privé ou partagé, il ne reçoit et ne transfère pas d'événements de propagation. Pour marquer explicitement un point de montage en tant que montage privé, veuillez saisir ce qui suit à l'invite shell :
mount --make-private mount_point
Alternativement, il est possible de modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci :
mount --make-rprivate mount_point
Veuillez consulter l'Exemple 18.6, « Créer un point de montage privé » pour voir un exemple d'utilisation.

Exemple 18.6. Créer un point de montage privé

En prenant en compte le scénario dans l'Exemple 18.4, « Créer un point de montage partagé », supposez que le point de montage partagé a été créé auparavant en utilisant les commandes suivantes en tant qu'utilisateur root:
~]# mount --bind /media /media
~]# mount --make-shared /media
~]# mount --bind /media /mnt
Pour marquer le répertoire /mnt en tant que « privé », veuillez saisir :
~]# mount --make-private /mnt
Il est désormais possible de vérifier qu'aucun des montages présents à l'intérieur de /media n'apparaissent dans /mnt. Par exemple, si le lecteur CD-ROM contient un support qui n'est pas vide et que le répertoire /media/cdrom/ existe, veuillez exécuter les commandes suivantes :
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
~]#
Il est également possible de vérifier qu'aucun des systèmes de fichiers montés dans le répertoire /mnt ne soit reflété dans /media. Par exemple, si un lecteur flash USB qui utilise le périphérique /dev/sdc1 est attaché et que le répertoire /mnt/flashdisk/ est présent, veuillez saisir :
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
Unbindable Mount
Pour empêcher qu'un point de montage donné ne soit dupliqué, un montage ne pouvant pas être lié peut être utilisé. Pour modifier le type d'un point de montage en montage ne pouvant pas être lié, veuillez saisir ce qui suit à l'invite shell :
mount --make-unbindable mount_point
Alternativement, il est possible de modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci :
mount --make-runbindable mount_point
Veuillez consulter l'Exemple 18.7, « Créer un point de montage ne pouvant pas être lié » pour voir un exemple d'utilisation.

Exemple 18.7. Créer un point de montage ne pouvant pas être lié

Pour empêcher que le répertoire /media soit partagé, veuillez saisir ce qui suit à l'invite shell en tant qu'utilisateur root :
~]# mount --bind /media /media
~]# mount --make-unbindable /media
Ainsi, toute tentative conséquente de créer un dupliqué de ce montage échouera avec une erreur :
~]# mount --bind /media /mnt
mount: wrong fs type, bad option, bad superblock on /media,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail  or so

18.2.4. Déplacer un point de montage

Pour modifier le répertoire dans lequel un système de fichiers est monté, veuillez utiliser la commande suivante :
mount --move old_directory new_directory
Veuillez consulter l'Exemple 18.8, « Déplacer un point de montage NFS existant » pour voir un exemple d'utilisation.

Exemple 18.8. Déplacer un point de montage NFS existant

Un stockage NFS contient des répertoires utilisateur et est déjà monté dans /mnt/userdirs/. En tant qu'utilisateur root, veuillez déplacer ce point de montage sur /home en utilisant la commande suivante :
~]# mount --move /mnt/userdirs /home
Pour vérifier que le point de montage a été déplacé, répertoriez le contenu des deux répertoires :
~]# ls /mnt/userdirs
~]# ls /home
jill  joe

18.2.5. Définir la permission Lecture-seule pour root

Dans certains cas, vous pourriez souhaiter monter le système de fichiers avec des permissions lecture-seule. Les cas d'utilisation incluent une amélioration de la sécurité ou assurer l'intégrité des données suite à une interruption de la l'alimentation éléctrique.

18.2.5.1. Configurer root pour qu'il puisse monter avec les persmissions lecture-seule au démarrage.

  1. Dans le fichier /etc/sysconfig/readonly-root, modifier la valeur de READONLY à yes :
    # Set to 'yes' to mount the system file systems read-only.
    READONLY=yes[sortie tronquée]
  2. Changer defaults en ro dans l'entrée root (/) dans le fichier /etc/fstab :
    /dev/mapper/luks-c376919e... / ext4 ro,x-systemd.device-timeout=0 1 1
  3. Ajouter ro à la directive GRUB_CMDLINE_LINUX dans le fichier /etc/default/grub et assurez-vous qu'il n'y ait pas de rw:
    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet ro"
  4. Recréer le fichier de configuration GRUB2 :
    ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
  5. Si vous ajoutez des fichiers et des répertoires à monter avec la permission écriture dans le système de fichiers tmpfs, créer un fichier texte dans le répertoire /etc/rwtab.d/ et mettez-y la configuration. Par exemple, pour monter /etc/example/file avec des permissions écriture (w), ajouter cette ligne dans le fichier /etc/rwtab.d/example :
    files /etc/example/file

    Important

    Les changements apportés aux fichiers et répertoires dans tmpfs ne sont pas persistants d'un démarrage à l'autre.
  6. Redémarrer le système.

18.2.5.2. Remonter root instantanément

Si root (/) a été monté avec les permissions lecture-seule au démarrage du système, vous pouvez le remonter avec les permissions écriture :
~]# mount -o remount,rw /
Cela est particulièrement utile quand / n'est pas monté correctement avec les permissions lecture-seule.
Pour remonter / avec les permissions lecture-seule à nouveau, exécuter :
~]# mount -o remount,ro /

Note

Cette commande monte tout le / avec les permissions lecture-seule. Une meilleure approche consiste à conserver les permissions d'écriture pour certains fichiers et répertoires en les copiant en RAM, comme expliqué dans Section 18.2.5.1, « Configurer root pour qu'il puisse monter avec les persmissions lecture-seule au démarrage. ».

18.2.5.3. Fichiers et répertoires qui retiennent les permissions écriture

Pour que le système puisse fonctionner correctement, certains fichiers et répertoires doivent conserver les permissions d'écriture. Avec root en mode de lecture uniquement, ils sont montés en RAM dans le système de fichiers temporaire tmpfs. Les valeurs par défaut de tels fichiers et répertoires se trouvent dans le fichier /etc/rwtab, qui contient :
dirs	/var/cache/man
dirs	/var/gdm[sortie tronquée]
empty	/tmp
empty	/var/cache/foomatic[sortie tronquée]
files	/etc/adjtime
files	/etc/ntp.conf[sortie tronquée]
Les entrées du fichier /etc/rwtab doivent suivre le format suivant :
comment le fichier ou répertoire est copié dans tmpfs       	chemin vers le fichier ou répertoire
Un fichier ou répertoire peut être copié dans tmpfs de trois façons, donc il y a trois sortes d'entrées :
  • empty path : un chemin vide est copié dans tmpfs. Exemple : empty /tmp
  • dirs path : une aborescence de répertoires est copiée dans tmpfs empty. Exemple : dirs /var/run
  • files path: un fichier ou répertoire est copié dans tmpfs intact. Exemple : files /etc/resolv.conf
Le même format s'applique quand on ajoute des chemins personnalisés à /etc/rwtab.d/.