Montage du système de fichiers Linux

LinuxLinuxIntermediate
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Le montage de systèmes de fichiers Linux est une compétence fondamentale pour les administrateurs système et les utilisateurs techniques. Ce processus permet au système d'exploitation d'accéder et d'interagir avec les périphériques de stockage et leurs systèmes de fichiers en les attachant à des emplacements spécifiques dans la structure de répertoires.

Dans ce labo, vous apprendrez à créer un périphérique de stockage simulé, à le formater avec un système de fichiers et à le monter pour accéder à son contenu. Vous explorerez également différentes options de montage qui contrôlent la façon dont le système de fichiers peut être utilisé, par exemple en restreignant les permissions d'exécution ou en le rendant accessible en lecture seule (read-only).

À la fin de ce labo, vous comprendrez :

  • Comment créer et formater un périphérique de stockage sous Linux
  • Le processus de montage et de démontage (unmounting) des systèmes de fichiers
  • Comment utiliser les options de montage pour contrôler l'accès au système de fichiers
  • Comment vérifier l'état des systèmes de fichiers montés

Ces compétences sont essentielles pour la gestion des périphériques de stockage dans les environnements Linux, des disques durs locaux aux supports amovibles et au stockage réseau.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 87%. Il a reçu un taux d'avis positifs de 88% de la part des apprenants.

Création et montage d'un périphérique de stockage

Dans cette étape, vous allez créer un périphérique de stockage simulé, le formater avec un système de fichiers et le monter pour le rendre accessible dans la structure de répertoires Linux.

Accéder au répertoire du projet

Tout d'abord, accédons au répertoire du projet où vous travaillerez tout au long de ce labo :

cd ~/project

Créer un périphérique de stockage simulé

Maintenant, créez un périphérique de stockage simulé à l'aide de la commande dd. Cette commande créera un fichier d'une taille spécifique qui agira comme votre périphérique de stockage :

dd if=/dev/zero of=storage_device.img bs=1M count=100

Cette commande crée un fichier de 100 Mo nommé storage_device.img. Comprenons chaque partie de cette commande :

  • if=/dev/zero : Le fichier d'entrée est /dev/zero, qui est un fichier spécial qui produit un flux infini de zéros
  • of=storage_device.img : Le fichier de sortie est nommé storage_device.img
  • bs=1M : La taille du bloc est définie sur 1 mégaoctet
  • count=100 : Copier 100 blocs, ce qui donne un fichier de 100 Mo

Vous devriez voir une sortie similaire à ceci :

100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0331261 s, 3.2 GB/s

Formater le périphérique de stockage avec un système de fichiers

Avant de pouvoir utiliser le périphérique de stockage, vous devez le formater avec un système de fichiers. La commande mkfs.ext4 formate le fichier avec le système de fichiers ext4, qui est couramment utilisé sous Linux :

mkfs.ext4 storage_device.img

Vous verrez plusieurs lignes de sortie lorsque la commande crée le système de fichiers, similaires à :

mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 25600 4k blocks and 25600 inodes

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

Créer un point de montage (mount point)

Avant de monter le périphérique, créez un répertoire qui servira de point de montage. C'est l'endroit où le contenu de votre système de fichiers sera accessible :

mkdir -p ~/project/mount_point

Monter le périphérique de stockage

Maintenant, montez le périphérique de stockage sur le point de montage à l'aide de la commande mount :

sudo mount -t ext4 storage_device.img ~/project/mount_point

Cette commande indique à Linux de :

  • Monter un périphérique de type (-t) ext4
  • Le périphérique à monter est storage_device.img
  • L'emplacement du montage est ~/project/mount_point

Vérifier le montage

Pour vérifier que le périphérique est monté correctement, utilisez la commande df (disk free) avec des options pour afficher le type de système de fichiers et les tailles lisibles par l'homme :

df -hT | grep mount_point

Vous devriez voir une sortie similaire à :

/dev/loop0     ext4      90M   24K   83M   1% /home/labex/project/mount_point

Tester le système de fichiers monté

Pour vérifier que le système de fichiers fonctionne correctement, créez un fichier de test dans le répertoire monté :

echo "This is a test file" | sudo tee ~/project/mount_point/test.txt > /dev/null

Lisez le fichier pour vérifier qu'il a été créé avec succès :

cat ~/project/mount_point/test.txt

Vous devriez voir le texte "This is a test file" affiché, confirmant que votre système de fichiers est correctement monté et fonctionne.

Comprendre ce qui s'est passé

Vous avez réussi à :

  1. Créer un fichier qui simule un périphérique de stockage
  2. Le formater avec le système de fichiers ext4
  3. Créer un répertoire de point de montage
  4. Monter le système de fichiers sur ce répertoire
  5. Confirmer que le montage a réussi
  6. Créer et lire un fichier sur le système de fichiers monté

Ce processus est similaire à la connexion et à l'utilisation d'un disque dur externe ou d'une clé USB, mais en utilisant un fichier pour simuler le périphérique physique.

Options de montage pour la sécurité et le contrôle d'accès

Dans cette étape, vous apprendrez à utiliser les options de montage pour contrôler la façon dont le système de fichiers est accessible. Les options de montage offrent un contrôle supplémentaire sur le comportement du système de fichiers, par exemple en restreignant les permissions d'exécution ou en rendant un système de fichiers accessible en lecture seule (read-only).

Démontage (unmount) du système de fichiers actuel

Avant d'appliquer de nouvelles options de montage, vous devez démonter le système de fichiers actuel :

sudo umount ~/project/mount_point

Si vous obtenez un message d'erreur indiquant que le périphérique est occupé, assurez-vous que vous n'êtes pas actuellement dans le répertoire du point de montage :

cd ~/project

Essayez ensuite de démonter à nouveau.

Montage avec l'option noexec

L'option de montage noexec empêche l'exécution de tout binaire sur le système de fichiers monté. Il s'agit d'une fonctionnalité de sécurité qui peut empêcher l'exécution de scripts ou de programmes malveillants.

Montez le système de fichiers avec l'option noexec :

sudo mount -t ext4 -o noexec storage_device.img ~/project/mount_point

La partie -o noexec indique à mount d'utiliser l'option noexec.

Tester l'option noexec

Créons un simple script shell sur le système de fichiers monté et essayons de l'exécuter :

echo '#!/bin/bash' | sudo tee ~/project/mount_point/test_script.sh > /dev/null
echo 'echo "This script is running"' | sudo tee -a ~/project/mount_point/test_script.sh > /dev/null

Rendez le script exécutable :

chmod +x ~/project/mount_point/test_script.sh

Maintenant, essayez d'exécuter le script :

~/project/mount_point/test_script.sh

Vous devriez voir un message d'erreur comme :

bash: /home/labex/project/mount_point/test_script.sh: Permission denied

Cela confirme que l'option noexec empêche l'exécution du script.

Démontage et remontage avec l'option Lecture Seule (Read-Only)

Maintenant, essayons de monter le système de fichiers en lecture seule. Tout d'abord, démontez-le :

sudo umount ~/project/mount_point

Ensuite, montez-le avec l'option lecture seule :

sudo mount -t ext4 -o ro storage_device.img ~/project/mount_point

La partie -o ro indique à mount d'utiliser l'option lecture seule.

Tester l'option Lecture Seule

Essayez de créer un nouveau fichier sur le système de fichiers monté :

touch ~/project/mount_point/new_file.txt

Vous devriez voir un message d'erreur comme :

touch: cannot touch '/home/labex/project/mount_point/new_file.txt': Read-only file system

Cela confirme que le système de fichiers est monté en lecture seule.

Vérifier les options de montage

Vous pouvez vérifier les options de montage actuelles en utilisant la commande mount :

mount | grep mount_point

Vous devriez voir une sortie incluant ro, indiquant que l'option lecture seule est active :

/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,relatime)

Combiner les options de montage

Vous pouvez combiner plusieurs options de montage en les séparant par des virgules. Démontons le système de fichiers et remontons-le avec les options noexec et ro :

sudo umount ~/project/mount_point
sudo mount -t ext4 -o ro,noexec storage_device.img ~/project/mount_point

Vérifiez les options de montage :

mount | grep mount_point

Vous devriez voir les deux options dans la sortie :

/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,noexec,relatime)

Comprendre les options de montage

Les options de montage que vous avez explorées sont importantes pour la sécurité et le contrôle d'accès :

  • noexec empêche l'exécution de fichiers binaires, ce qui peut protéger contre le code malveillant
  • ro (lecture seule) empêche les modifications du système de fichiers, ce qui peut protéger l'intégrité des données

Ces options sont couramment utilisées dans les environnements de production pour mettre en œuvre le principe du moindre privilège, en ne donnant aux systèmes et aux utilisateurs que l'accès dont ils ont besoin.

Automatisation des montages avec /etc/fstab

Dans cette étape, vous apprendrez à rendre les montages de systèmes de fichiers persistants lors des redémarrages du système en configurant le fichier /etc/fstab. Ceci est essentiel pour monter automatiquement les périphériques de stockage au démarrage du système.

Comprendre /etc/fstab

Le fichier /etc/fstab (table de systèmes de fichiers) contient des informations sur les systèmes de fichiers qui doivent être montés automatiquement au démarrage du système. Chaque ligne du fichier représente un système de fichiers distinct et comprend des champs tels que le périphérique, le point de montage (mount point), le type de système de fichiers et les options de montage.

Commençons par examiner le contenu actuel du fichier :

cat /etc/fstab

Vous verrez plusieurs lignes avec des montages système déjà configurés.

Démontage du système de fichiers actuel

Avant de configurer le montage persistant, démontez le système de fichiers actuel :

sudo umount ~/project/mount_point

Créer une sauvegarde de /etc/fstab

C'est toujours une bonne pratique de créer une sauvegarde avant de modifier les fichiers de configuration du système :

sudo cp /etc/fstab /etc/fstab.backup

Ajouter une entrée à /etc/fstab

Maintenant, ajoutez une entrée pour votre périphérique de stockage à /etc/fstab. Vous devrez utiliser le chemin absolu vers votre fichier de périphérique :

echo "$(readlink -f ~/project/storage_device.img) $(readlink -f ~/project/mount_point) ext4 defaults 0 0" | sudo tee -a /etc/fstab

Cette commande :

  • Utilise readlink -f pour obtenir les chemins absolus vers vos fichiers
  • Redirige la ligne formatée vers /etc/fstab en utilisant tee -a avec les privilèges sudo

Décomposons les champs de l'entrée fstab :

  1. Périphérique (Device) - Le chemin complet vers votre fichier de périphérique de stockage
  2. Point de montage (Mount point) - Le chemin complet vers votre répertoire de montage
  3. Type de système de fichiers (File system type) - ext4
  4. Options de montage (Mount options) - defaults (équivalent à rw,suid,dev,exec,auto,nouser,async)
  5. Dump - 0 (ne pas sauvegarder avec dump)
  6. Pass - 0 (ne pas vérifier le système de fichiers au moment du démarrage)

Tester l'entrée fstab

Testez si votre entrée fonctionne correctement en utilisant la commande mount -a, qui monte tous les systèmes de fichiers répertoriés dans /etc/fstab qui ne sont pas déjà montés :

sudo mount -a

S'il n'y a pas de messages d'erreur, cela signifie que votre entrée est correcte.

Vérifier le montage

Vérifiez que le système de fichiers est monté comme prévu :

df -hT | grep mount_point

Vous devriez voir votre système de fichiers monté avec le type ext4.

Modifier l'entrée fstab avec plus d'options

Maintenant, modifions l'entrée pour utiliser les options de montage que vous avez apprises à l'étape précédente. Modifiez le fichier /etc/fstab avec l'éditeur de texte nano :

sudo nano /etc/fstab

Trouvez la ligne que vous avez ajoutée, qui devrait ressembler à quelque chose comme :

/home/labex/project/storage_device.img /home/labex/project/mount_point ext4 defaults 0 0

Modifiez les options de montage (quatrième champ) de defaults à ro,noexec :

/home/labex/project/storage_device.img /home/labex/project/mount_point ext4 ro,noexec 0 0

Appuyez sur Ctrl+O pour écrire les modifications, puis sur Entrée pour confirmer, et sur Ctrl+X pour quitter nano.

Remonter avec les nouvelles options

Démontez le système de fichiers et remontez toutes les entrées dans /etc/fstab :

sudo umount ~/project/mount_point
sudo mount -a

Vérifier les nouvelles options de montage

Vérifiez que le système de fichiers est monté avec les nouvelles options :

mount | grep mount_point

Vous devriez voir les options ro et noexec dans la sortie.

Comprendre les montages persistants

Le fichier /etc/fstab fournit un moyen de :

  • Monter automatiquement les systèmes de fichiers au moment du démarrage
  • Configurer les options de montage de manière persistante
  • Contrôler l'ordre des vérifications du système de fichiers pendant le démarrage

Dans un environnement de production, une configuration correcte de /etc/fstab garantit que tous les systèmes de fichiers nécessaires sont disponibles au démarrage du système sans nécessiter d'intervention manuelle.

Résumé

Félicitations pour avoir terminé le labo sur le montage de systèmes de fichiers Linux. Vous avez acquis des compétences précieuses qui sont essentielles pour tout administrateur système Linux ou utilisateur technique.

Dans ce labo, vous avez appris :

  1. Création et formatage de périphériques de stockage

    • Comment créer un périphérique de stockage simulé à l'aide de la commande dd
    • Comment formater le périphérique avec le système de fichiers ext4 à l'aide de mkfs.ext4
  2. Opérations de montage de base

    • Comment créer un répertoire de point de montage (mount point)
    • Comment monter un système de fichiers à l'aide de la commande mount
    • Comment vérifier le montage à l'aide de df et d'autres commandes
  3. Options de montage pour la sécurité et le contrôle

    • Comment utiliser l'option noexec pour empêcher l'exécution de binaires
    • Comment utiliser l'option ro pour créer un système de fichiers en lecture seule (read-only)
    • Comment combiner plusieurs options de montage pour une sécurité renforcée
  4. Montage persistant avec /etc/fstab

    • Comment configurer le montage automatique des systèmes de fichiers au démarrage
    • Comment définir des options de montage persistantes
    • Comment tester et vérifier les entrées fstab

Ces compétences vous permettront de :

  • Gérer différents types de périphériques de stockage sous Linux
  • Mettre en œuvre des contrôles de sécurité grâce aux options de montage
  • Configurer le montage automatique au démarrage du système
  • Dépanner les problèmes de montage du système de fichiers

Au fur et à mesure que vous poursuivez votre parcours Linux, vous constaterez que ces compétences sont précieuses lorsque vous travaillez avec des périphériques de stockage physiques, des partages réseau et des systèmes de fichiers virtuels. Les principes que vous avez appris s'appliquent à de nombreuses distributions Linux et technologies de stockage différentes.