Introduction
Dans cet atelier, vous allez découvrir le processus fondamental de création et de restauration d'une sauvegarde du système de fichiers dans un environnement Linux en utilisant l'utilitaire en ligne de commande tar (tape archive). L'objectif principal est d'acquérir une expérience concrète des tâches essentielles d'administration système, notamment la gestion des permissions d'accès et la manipulation d'archives de fichiers. Vous utiliserez la commande sudo pour exécuter des opérations avec des privilèges élevés lorsque cela est nécessaire pour accéder et sauvegarder des répertoires critiques du système, en particulier le répertoire /home, qui contient les données des utilisateurs.
Cet atelier vous guidera à travers un flux de travail pratique en utilisant le compte utilisateur par défaut labex avec sudo pour les tâches administratives. Vous créerez une archive compressée de l'intégralité du répertoire /home et vérifierez sa bonne création. Pour simuler un scénario de restauration, vous vous rendrez dans un répertoire temporaire, /tmp, et extrairez le contenu de votre archive de sauvegarde. Enfin, vous vérifierez que les fichiers et la structure des répertoires ont été correctement restaurés dans le nouvel emplacement, confirmant ainsi l'intégrité de votre processus de sauvegarde et de restauration.
Comprendre l'environnement actuel
Dans cette étape, vous allez vous familiariser avec votre environnement actuel et apprendre à utiliser sudo pour les tâches administratives. L'utilisateur labex a la possibilité d'exécuter des commandes avec des privilèges élevés en utilisant sudo (superuser do), ce qui vous permet d'effectuer des tâches d'administration sans avoir à basculer vers le compte utilisateur root.
L'utilisation de sudo est une bonne pratique de sécurité car elle fournit des privilèges élevés temporaires pour des commandes spécifiques tout en conservant votre contexte utilisateur. Cette approche est plus sûre que de passer entièrement à l'utilisateur root, car elle réduit le risque d'exécuter accidentellement des commandes dangereuses.
Tout d'abord, vérifions votre identité d'utilisateur actuelle et votre emplacement en exécutant les commandes whoami et pwd (print working directory).
Vérifiez qui vous êtes :
whoami
Le résultat devrait être labex :
labex
Ensuite, vérifiez votre répertoire actuel :
pwd
Le résultat devrait indiquer que vous êtes dans le répertoire de projet de l'utilisateur labex :
/home/labex/project
Vous pouvez tester vos privilèges sudo en exécutant une commande simple qui nécessite un accès administratif. Vérifions le contenu du répertoire /root, qui nécessite normalement des permissions élevées :
sudo ls /root
Cette commande s'exécutera avec succès, démontrant que vous disposez des privilèges sudo nécessaires pour effectuer des tâches administratives. La commande sudo vous accordera temporairement les permissions requises pour accéder aux zones restreintes du système de fichiers.
Maintenant que vous comprenez votre environnement et vos capacités sudo, vous êtes prêt à créer une sauvegarde lors de la prochaine étape.
Créer une archive de sauvegarde du répertoire /home
Dans cette étape, vous allez créer une sauvegarde du répertoire /home en utilisant la commande tar avec sudo. L'utilitaire tar (tape archiver) est un outil standard sous Linux pour créer, visualiser et extraire des fichiers d'archive. Une archive est un fichier unique qui contient plusieurs autres fichiers et répertoires, ce qui facilite leur stockage et leur transport.
Vous êtes actuellement connecté en tant qu'utilisateur labex, et votre répertoire de travail actuel est /home/labex/project. Vous allez créer le fichier de sauvegarde dans votre répertoire personnel (home), qui est accessible à votre compte utilisateur.
La commande que vous utiliserez est sudo tar -cvf ~/backup.tar /home. Décomposons les options :
sudo: Cela accorde les privilèges nécessaires pour lire tous les fichiers du répertoire/home, y compris ceux appartenant à d'autres utilisateurs.-c(create) : Cette option indique àtarde créer une nouvelle archive.-v(verbose) : Cela permet àtard'afficher chaque fichier au fur et à mesure qu'il est ajouté à l'archive. C'est utile pour suivre la progression de l'opération.-f(file) : Cette option vous permet de spécifier le nom de fichier de l'archive. Elle doit être immédiatement suivie du nom de l'archive. Dans notre cas, c'est~/backup.tar. Le symbole~est un raccourci pour votre répertoire personnel (/home/labex)./home: C'est le répertoire source que vous souhaitez sauvegarder.
Maintenant, exécutez la commande dans votre terminal pour créer l'archive de sauvegarde :
sudo tar -cvf ~/backup.tar /home
Comme vous avez utilisé l'option -v, vous verrez une longue liste de fichiers défiler sur votre écran au fur et à mesure qu'ils sont ajoutés à l'archive backup.tar. La sortie ressemblera à ceci, listant tous les fichiers contenus dans le répertoire /home :
tar: Removing leading `/' from member names
/home/
/home/labex/
/home/labex/.bashrc
/home/labex/.profile
/home/labex/.zshrc
/home/labex/project/
/home/labex/.zsh_history
...
Le message tar: Removing leading '/' from member names est normal. Cela signifie que tar stocke les chemins à l'intérieur de l'archive de manière relative au répertoire spécifié, ce qui est une pratique standard pour garantir la portabilité de l'archive.
À l'étape suivante, vous vérifierez que le fichier backup.tar a bien été créé.
Vérifier la création du fichier backup.tar
Dans cette étape, vous allez vérifier que l'archive backup.tar a été créée avec succès lors de l'étape précédente. Après avoir effectué une opération critique comme une sauvegarde, il est toujours recommandé de confirmer que le fichier de sortie attendu existe bel et bien.
Puisque vous avez créé le fichier de sauvegarde dans votre répertoire personnel (~/backup.tar), vous devez vérifier ce répertoire. La façon la plus simple de vérifier la présence du fichier est d'utiliser la commande ls (list) avec le chemin complet ou en vous rendant dans votre répertoire personnel.
Exécutez la commande ls pour vérifier votre répertoire personnel :
ls ~
La commande listera tous les fichiers et répertoires de votre dossier personnel. Vous devriez voir le fichier backup.tar dans la liste :
backup.tar
Alternativement, vous pouvez vérifier le fichier directement en utilisant son chemin complet :
ls -l ~/backup.tar
La sortie ressemblera à ceci :
-rw-r--r-- 1 root root 10240 <Date> <Time> /home/labex/backup.tar
Cet affichage détaillé vous donne plus de certitude, montrant que le fichier existe et possède une taille non nulle, ce qui est attendu pour une archive de sauvegarde. Notez que le fichier appartient à root car vous l'avez créé en utilisant sudo, mais il est stocké dans votre répertoire personnel accessible.
Maintenant que vous avez créé et vérifié la sauvegarde avec succès, l'étape suivante consiste à simuler un scénario de restauration.
Se déplacer dans le répertoire /tmp pour la restauration
Dans cette étape, vous allez changer votre répertoire actuel pour /tmp. Pour s'entraîner à restaurer une sauvegarde, il est préférable d'extraire les fichiers dans un emplacement neutre au préalable. Cela évite d'écraser accidentellement des fichiers existants et vous permet d'inspecter les données restaurées avant de les déplacer vers leur destination finale. Le répertoire /tmp est un emplacement standard sur les systèmes Linux pour les fichiers temporaires et est parfait pour cet usage.
Pour naviguer entre les répertoires dans le système de fichiers Linux, on utilise la commande cd (change directory). Vous êtes actuellement dans le répertoire /root.
Pour passer au répertoire /tmp, exécutez la commande suivante :
cd /tmp
Après avoir exécuté la commande, l'invite de votre terminal peut ne pas sembler différente, mais votre emplacement dans le système de fichiers a changé. Vous pouvez confirmer votre nouvel emplacement en utilisant la commande pwd (print working directory), qui affiche le chemin complet de votre répertoire actuel.
pwd
Le résultat devrait confirmer que vous êtes maintenant dans /tmp :
/tmp
Maintenant que vous êtes dans le répertoire /tmp, vous êtes prêt à extraire le contenu de l'archive backup.tar que vous avez créée précédemment.
Extraire l'archive de sauvegarde dans le répertoire actuel
Dans cette étape, vous allez extraire le contenu du fichier backup.tar dans votre répertoire actuel, /tmp. Ce processus est souvent appelé "restauration" à partir d'une sauvegarde. Vous utiliserez à nouveau la commande tar, mais avec des options différentes pour effectuer l'extraction.
Vous êtes actuellement dans le répertoire /tmp. Le fichier de sauvegarde, backup.tar, se trouve dans votre répertoire personnel (/home/labex). Par conséquent, vous devez fournir le chemin complet vers le fichier d'archive lorsque vous lancez la commande.
La commande pour extraire l'archive est tar -xvf ~/backup.tar. Examinons les options :
-x(extract) : Cette option indique àtard'extraire les fichiers d'une archive. C'est la différence majeure par rapport à la commande de création.-v(verbose) : Comme précédemment, cela liste chaque fichier au fur et à mesure de son extraction, vous montrant ainsi la progression.-f(file) : Cela spécifie le nom du fichier d'archive à traiter. Vous utilisez~/backup.tarpour faire référence au fichier de sauvegarde dans votre répertoire personnel.
Notez que vous n'avez pas besoin de sudo pour l'extraction car vous extrayez vers /tmp, qui est accessible en écriture pour les utilisateurs ordinaires, et vous ne faites que lire le fichier de sauvegarde (sans modifier les fichiers système).
Maintenant, exécutez la commande dans votre terminal pour extraire les fichiers :
tar -xvf ~/backup.tar
Vous verrez une liste de fichiers et de répertoires en cours de création dans votre répertoire actuel (/tmp). La sortie sera la liste des fichiers contenus dans l'archive, qui devrait vous sembler familière puisque c'est celle de la création :
home/
home/labex/
home/labex/.bashrc
home/labex/.profile
home/labex/.zshrc
home/labex/project/
home/labex/.zsh_history
...
Cette sortie indique que tar a créé un répertoire home à l'intérieur de /tmp et y a restauré tous les fichiers et répertoires sauvegardés. Dans la dernière étape, vous allez vérifier cela.
Vérifier que les fichiers sont restaurés dans /tmp
Dans cette étape finale, vous allez confirmer que les fichiers de l'archive de sauvegarde ont été correctement extraits dans le répertoire /tmp. C'est une partie cruciale de tout processus de restauration pour garantir l'intégrité des données.
Vous êtes actuellement dans le répertoire /tmp. Pour voir le répertoire home nouvellement créé, utilisez la commande ls :
ls
Vous devriez voir un répertoire home listé parmi les autres fichiers temporaires éventuellement présents :
home
...
Cela confirme que le répertoire de premier niveau de l'archive a été créé. Pour être plus rigoureux, regardons à l'intérieur de ce nouveau répertoire home pour voir s'il contient les données utilisateur attendues.
ls home
Le résultat devrait afficher le répertoire personnel de l'utilisateur labex, qui était le contenu du répertoire /home d'origine que vous avez sauvegardé :
labex
Ceci confirme que le processus de sauvegarde et de restauration a réussi. Vous avez créé une sauvegarde de /home en utilisant les privilèges sudo, vous l'avez stockée dans votre répertoire personnel (/home/labex), puis vous l'avez restaurée avec succès dans un emplacement temporaire à /tmp/home.
Vous pouvez vérifier que les fichiers restaurés correspondent aux originaux en comparant quelques fichiers. Par exemple, vous pouvez vérifier si votre fichier .bashrc a été correctement restauré :
ls home/labex/.bashrc
Le résultat devrait confirmer que le fichier existe :
home/labex/.bashrc
Le processus de sauvegarde et de restauration est maintenant terminé. Vous avez démontré avec succès comment utiliser tar avec les privilèges sudo pour créer une sauvegarde système tout en conservant votre contexte utilisateur, ce qui est l'approche recommandée pour les tâches d'administration système.
Résumé
Dans cet atelier, vous avez appris à effectuer une tâche fondamentale d'administration système : la création et la restauration d'une sauvegarde de répertoire à l'aide de la commande tar sous Linux avec les privilèges sudo. Le processus a commencé par la compréhension de votre environnement en tant qu'utilisateur labex et l'utilisation de sudo pour exécuter des commandes avec des privilèges élevés lorsque cela est nécessaire. Cette approche est plus sûre et plus sécurisée que de basculer entièrement vers l'utilisateur root, car elle fournit des permissions élevées temporaires pour des tâches spécifiques tout en préservant votre contexte utilisateur.
Vous avez utilisé l'utilitaire tar avec sudo pour créer un fichier d'archive unique, backup.tar, contenant tout le contenu du répertoire /home, et vous l'avez stocké dans votre répertoire personnel accessible. Cela a permis de démontrer comment gérer des sauvegardes à l'échelle du système tout en respectant les limites de l'utilisateur et en évitant les conflits potentiels avec les fonctions du système.
Pour la partie restauration de l'atelier, vous avez appris la bonne pratique consistant à se déplacer d'abord vers un emplacement sûr et temporaire comme le répertoire /tmp pour éviter d'écraser des données actives. De là, vous avez utilisé la commande tar pour extraire le contenu de l'archive backup.tar dans votre répertoire actuel sans nécessiter de privilèges élevés, puisque vous ne faisiez que lire le fichier de sauvegarde et écrire dans un emplacement accessible à l'utilisateur. La dernière étape a consisté à vérifier que les fichiers et répertoires de la sauvegarde ont été correctement restaurés dans /tmp, confirmant ainsi l'intégrité de l'ensemble du cycle de sauvegarde et de restauration.



