67 labs pratiques pour préparer le Red Hat Certified System Administrator (EX200), soit environ 30 heures de travail, chacun noté sur l'état réel de votre machine et non sur les commandes tapées. Ils se jouent chez vous avec la ligne de commande `dsoxlab`, et ne coûtent rien.
Un examen entièrement pratique : on vous donne des machines Red Hat Enterprise Linux et des tâches à accomplir, et c'est l'état du système à la fin qui est noté.
- 67labs
- 30heures de pratique
- 50sur machines virtuelles
Niveaux 19 débutant 38 intermédiaire 10 avancé
Objectifs officiels de l'examen publiés par Red Hat
Ce ne sont pas des questions d'examen. Ce sont des exercices pratiques sur les compétences que l'examen mesure, notés sur l'état de votre machine.
Linux, RHCSA et LFCS
Ajouter ce catalogue dsoxlab catalog add https://github.com/stephrobert/linux-dsoxlab-training
Fondamentaux
-
Premiers pas dans le terminal
Exécutez les commandes de base (whoami, pwd, hostname, date) et capturez leur sortie dans un fichier.
dsoxlab start l1-first-terminal -
Cartographier Linux : noyau, distribution et répertoires clés
Explorez les composants de Linux en exécutant de vraies commandes sur votre propre système : identifiez le noyau, votre distribution et le rôle de /etc, /var/log et /proc. Remplissez une carte des notions.
dsoxlab start l1-discover-linux-map -
Choisir sa distribution Linux de référence
Comparez Debian/Ubuntu et les distributions RHEL, comprenez les critères de choix, et documentez votre choix pour trois scénarios concrets.
dsoxlab start l1-choose-distro -
Identifier sa machine Linux
Exécutez des commandes pour collecter le nom d'hôte, la distribution, la version du noyau et l'adresse IP de votre système. Produisez une fiche d'identité machine dans vm-info.txt.
dsoxlab start l1-prepare-vm -
Lire et décoder une commande
Décomposez 5 commandes Linux en parties commande/options/arguments et corrigez 3 commandes cassées.
dsoxlab start l1-read-a-command -
Obtenir de l'aide en ligne de commande
Utilisez man, --help et apropos pour trouver les bonnes options sans chercher sur le web.
dsoxlab start l1-get-help -
Hiérarchie du système de fichiers Linux (FHS)
Associez les répertoires Linux standard à leur rôle et classifiez des fichiers par emplacement.
dsoxlab start l1-linux-filesystem -
Naviguer dans le système de fichiers
Utilisez cd, ls, mkdir, cp, mv, rm pour construire une arborescence cible de zéro.
dsoxlab start l1-navigate-filesystem -
Chemins absolus et relatifs
Copiez un fichier avec un chemin absolu et avec un chemin relatif, puis résolvez 5 puzzles de navigation.
dsoxlab start l1-paths-absolute-relative -
Rediriger les flux et chaîner des commandes avec des pipes
Redirige la sortie standard et la sortie d'erreur, fusionne-les, et enchaîne des commandes avec des pipes pour produire des artefacts exacts.
dsoxlab start l1-redirections-pipes -
Filtrer un journal avec grep et les expressions régulières
Utilise grep avec ancres, classes de caractères, invert-match et comptage pour extraire des faits précis d'un journal d'accès.
dsoxlab start l1-grep-regex -
Transformer et agréger du texte avec cut, sort, uniq, sed et awk
Découper des colonnes, dédoublonner, compter, sommer un champ et réécrire un séparateur pour transformer un fichier brut en faits précis.
dsoxlab start l1-text-processing -
Localiser des fichiers avec find par nom, taille et permissions
Extraire une arborescence de projet et utiliser find pour lister les fichiers par motif de nom, par taille et par permissions exactes , en produisant les résultats dans des fichiers vérifiés contre l'arbre réel.
dsoxlab start l1-find-files -
Archiver, compresser et extraire sélectivement avec tar, gzip et bzip2
Créer des archives gzip et bzip2, lister leur contenu et extraire un seul membre dans un répertoire cible.
dsoxlab start l1-tar-archives -
Poser les permissions exactes avec chmod (octal et symbolique)
Donner à chaque fichier les bons bits utilisateur/groupe/autres : un secret privé, un script exécutable, une note lisible par le groupe et un répertoire privé.
dsoxlab start l1-permissions-ugo -
Créer des liens physiques et symboliques et les distinguer
Faire un lien physique qui partage l'inode, un lien symbolique qui pointe par chemin, et un lien symbolique vers un répertoire , prouvés par inode, compteur de liens et cible.
dsoxlab start l1-links-hard-sym -
Écrire un premier script Bash : variables, boucle et condition
Écrire rapport.sh qui lit un fichier d'état passé en argument, compte les UP/DOWN avec une boucle, les affiche, et sort en erreur si un hôte est down.
dsoxlab start l1-bash-script
Exploiter et maintenir
-
Ajouter et gérer le swap
Créer un swap file sécurisé, l'activer, le rendre persistant dans /etc/fstab et régler vm.swappiness.
dsoxlab start l2-swap-management -
Monter un filesystem de façon persistante par UUID dans /etc/fstab
Monter un disque additionnel déjà formaté sur /srv/data via /etc/fstab, référencé par UUID (pas par nom de périphérique) pour survivre à un reboot, et prouver la ligne avec mount -a ET findmnt --verify.
dsoxlab start l2-fstab-persist-uuid -
Créer des partitions GPT sur un disque avec parted
Poser une table GPT sur le disque supplémentaire et y découper deux partitions (512 Mio et 1 Gio), puis faire relire la table au noyau.
dsoxlab start l2-partition-gpt -
Créer et labelliser un filesystem XFS, puis le monter
Formater une partition préparée en XFS avec un label, créer un point de montage et le monter , prouvé par le type du filesystem, son label et le montage actif.
dsoxlab start l2-filesystem-create-xfs -
Diagnostiquer un filesystem plein et récupérer de l'espace
Un filesystem est plein. Trouve le coupable avec df/du, supprime le superflu sans effacer les données légitimes, et fais redescendre l'occupation.
dsoxlab start l2-disk-space-troubleshoot -
Étendre un volume logique et prouver que le montage survit au reboot
Étends un volume logique LVM, agrandis le filesystem XFS, et rends le montage persistant via /etc/fstab par UUID.
dsoxlab start l2-lvm-extend-persist -
Chiffrer un disque avec LUKS
Chiffrer un périphérique bloc avec LUKS2, l'ouvrir, y poser un système de fichiers, le monter et le déverrouiller au boot via crypttab.
dsoxlab start l2-luks-encryption -
Créer un compte local avec UID, shell et groupes exacts
Intégrer un utilisateur avec un UID précis, un home, un shell de connexion, un groupe primaire et un groupe secondaire , l'exercice de création de compte RHCSA.
dsoxlab start l2-user-lifecycle -
Appliquer une politique d'expiration et de complexité des mots de passe
Régler l'expiration par compte avec chage, l'âge max par défaut du système dans login.defs, et une longueur minimale via pwquality.
dsoxlab start l2-password-policy -
Déléguer des droits sudo limités via un drop-in sudoers
Accorder au groupe operators un sudo sans mot de passe pour systemctl seulement, via un drop-in /etc/sudoers.d validé , moindre privilège, pas root complet.
dsoxlab start l2-sudo-delegation -
Accorder un accès fin avec les ACL POSIX
Aller au-delà d'ugo : donner à un utilisateur rw sur un fichier et à un groupe rx sur un répertoire, avec une ACL par défaut pour que les nouveaux fichiers en héritent , via setfacl/getfacl.
dsoxlab start l2-acl-posix -
Mettre en place un répertoire collaboratif avec le bit set-GID
Donner à un répertoire partagé le groupe devteam et le bit set-GID pour que les fichiers créés dedans héritent du groupe , prouvé par le mode du répertoire et un fichier créé par un membre.
dsoxlab start l2-collaborative-setgid -
Installer, supprimer et interroger des paquets avec dnf
Amener la machine à un état logiciel cible : installer un paquet nécessaire, retirer un paquet indésirable, et vérifier avec des requêtes dnf/rpm.
dsoxlab start l2-package-management -
Configurer un dépôt dnf avec un fichier .repo
Ajouter un dépôt logiciel sous /etc/yum.repos.d : un id, une baseurl, activé et vérifié GPG, puis confirmer que dnf le voit.
dsoxlab start l2-repo-configure
Services et dépannage
-
Régler la cible de démarrage systemd par défaut
Un serveur n'a rien à faire à démarrer en cible graphique. Règle le défaut sur multi-user.target et vérifie-le.
dsoxlab start l3-boot-target -
Ajouter un paramètre noyau persistant au démarrage
Ajouter un paramètre de ligne de commande noyau au noyau courant avec grubby et à /etc/default/grub pour les futurs noyaux, pour qu'il survive aux reboots et mises à jour , prouvé par grubby et la config grub.
dsoxlab start l3-grub-kernel-args -
Créer et activer un service systemd
Encapsuler un programme dans une unit .service systemd, le démarrer et l'activer au boot , prouvé par le service actif, activé et qui fait son travail.
dsoxlab start l3-service-create-unit -
Diagnostiquer et corriger un service systemd en crash loop
Un service systemd redémarre en boucle à cause d'un fichier de configuration manquant. Utilisez systemctl + journalctl pour trouver la cause racine et corriger durablement.
dsoxlab start l3-service-diagnose -
Rendre le journal systemd persistant au reboot
Par défaut les logs disparaissent au reboot. Active le stockage persistant de journald pour que /var/log/journal garde l'historique , prouvé par la config, le répertoire et un vrai fichier journal.
dsoxlab start l3-journald-persist -
Planifier une tâche récurrente avec cron
Lancer /usr/local/bin/report.sh chaque jour à 02:30 via une entrée cron , prouvé par la planification réelle qu'honorera le démon cron.
dsoxlab start l3-scheduling-cron -
Planifier une tâche ponctuelle avec at
Mettre en file une commande à exécuter une seule fois plus tard avec at, et prouver qu'elle est planifiée , le pendant ponctuel de cron.
dsoxlab start l3-scheduling-at -
Planifier une tâche récurrente avec un timer systemd
Créer un .service et son .timer (OnCalendar), l'activer, et prouver qu'il est actif et persistant , la façon systemd de planifier du travail récurrent.
dsoxlab start l3-scheduling-timers -
Durcir des paramètres noyau durablement avec sysctl.d
Désactiver le routage IP et les redirections ICMP via /etc/sysctl.d, appliqué maintenant et persistant au reboot , prouvé par les valeurs sysctl actives.
dsoxlab start l3-sysctl-persist -
Appliquer un profil de performance tuned
Basculer le profil tuned actif sur throughput-performance et le rendre durable , prouvé par le profil actif que rapporte le démon tuned.
dsoxlab start l3-tuned-profile -
Récupérer un montage en lecture seule dû à un fstab cassé
Une mauvaise option dans /etc/fstab a laissé /srv/data monté en lecture seule. Corrige l'entrée, remonte en lecture-écriture, et rends mount -a de nouveau propre.
dsoxlab start l3-fs-readonly-recover -
Réparer une config sshd cassée avant qu'elle ne te verrouille dehors
Un drop-in a laissé une directive invalide : sshd -t échoue, donc le prochain reload ou reboot couperait l'accès distant. Corrige la config, garde le login root désactivé, et recharge proprement.
dsoxlab start l3-ssh-access-recovery
Réseau, sécurité et conteneurs
-
Synchroniser l'horloge avec chrony et fixer le fuseau, durablement
Activer et démarrer chronyd, activer le NTP et régler le fuseau sur Europe/Paris, de façon persistante au reboot, prouvé par l'état actif du service et timedatectl.
dsoxlab start l4-ntp-sync -
Configurer une IPv4 statique persistante avec NetworkManager
Créer une connexion NetworkManager avec une IPv4 statique (méthode manual) qui survit au reboot , prouvé par le profil sur disque et l'adresse active.
dsoxlab start l4-network-static-persist -
Diagnostiquer et rétablir une connexion réseau tombée
Une connexion NetworkManager est configurée mais reste inactive et ne démarre pas automatiquement. Diagnostique-la, active-la, et rends-la auto-connectable , prouvé par l'état actif et le drapeau autoconnect.
dsoxlab start l4-network-troubleshoot -
Ouvrir un service firewalld de façon permanente
Autoriser le service http à travers firewalld pour que ça tienne maintenant et après reload/reboot , prouvé par les listes de services runtime et permanent, sans jamais fermer ssh.
dsoxlab start l4-firewall-persist -
Mettre en place un accès SSH par clé durci pour un utilisateur de service
Donner à l'utilisateur deploy un accès SSH par clé avec le bon propriétaire et les bonnes permissions (.ssh 700, authorized_keys 600, appartenant à l'utilisateur) , le piège classique qui casse silencieusement l'auth par clé.
dsoxlab start l4-ssh-key-auth-harden -
Lancer un conteneur détaché avec Podman
Récupérer une image et lancer un conteneur nommé en détaché, et prouver qu'il tourne , les bases de Podman pour les conteneurs RHCSA.
dsoxlab start l4-podman-basic -
Faire tourner un conteneur en service systemd avec Quadlet (persistant au boot)
Définir une unité Quadlet .container pour qu'un conteneur démarre au boot sous systemd , prouvé par le service actif, le conteneur qui tourne et l'unité sur disque.
dsoxlab start l4-podman-systemd-persist -
Gérer les images de conteneurs : pull, tag, save et inspection
Récupérer une image depuis un registre, l'étiqueter, la sauvegarder dans une archive et inspecter cette archive avec skopeo , les compétences de gestion d'images pour les conteneurs RHCSA.
dsoxlab start l4-podman-images -
Autoriser un service avec SELinux : booléen persistant et port étiqueté
Activer un booléen SELinux de façon persistante et étiqueter un port non standard pour qu'un service soit autorisé sous SELinux enforcing , prouvé par getsebool et semanage port.
dsoxlab start l4-selinux-boolean-port -
Corriger le contexte SELinux d'un fichier, durablement
Donner à un répertoire web personnalisé le type httpd_sys_content_t avec semanage fcontext + restorecon pour que ça survive à un relabel/reboot , prouvé par ls -Z et la règle fcontext.
dsoxlab start l4-selinux-context-fix -
Diagnostiquer un refus SELinux (AVC) et le corriger proprement
Un fichier web a le mauvais label SELinux, donc httpd est refusé (403). Lis l'AVC dans le journal d'audit et restaure le contexte , sans désactiver SELinux. Prouvé par le contexte actif et une réponse 200.
dsoxlab start l4-selinux-diagnose-avc -
Mettre en place une redirection de port NAT persistante avec nftables
Activer le routage IP et ajouter une table nat nftables (DNAT redirection de port + masquerade) qui survit au reboot , prouvé par le ruleset actif, sysctl et les fichiers de persistance.
dsoxlab start l4-nat-portforward -
Authentifier Linux sur un annuaire LDAP avec SSSD
Configurer SSSD sur le client pour qu'un utilisateur de l'annuaire (alice) soit résolu et puisse se connecter, contre un 389 Directory Server , prouvé par getent, id et le profil authselect actif.
dsoxlab start l4-ldap-integration
Épreuves en conditions d'examen
-
Drill , commandes essentielles en conditions d'examen
5 tâches, 100 points, 20 minutes, aucun indice : chercher par taille, bâtir un rapport de fréquence, créer des liens, corriger propriétaire et permissions, et séparer stdout de stderr. Jouable sur RHEL ou Debian , ces compétences sont identiques.
dsoxlab start drill-essential-commands -
Drill , utilisateurs, groupes et délégation en conditions d'examen
5 tâches, 100 points, 20 minutes, aucun indice : créer un compte aux specs exactes, imposer le vieillissement du mot de passe, monter un répertoire collaboratif, déléguer sudo au plus juste, et verrouiller un compte qui part. Jouable sur RHEL ou Debian , la gestion des comptes est identique.
dsoxlab start drill-users-groups -
Drill , unités systemd, timers et planification en conditions d'examen
5 tâches, 100 points, 25 minutes, aucun indice : écrire une unité de service avec politique de redémarrage, planifier un timer hebdomadaire, ajouter une tâche cron, corriger la cible de démarrage, et masquer un service pour de bon. Jouable sur RHEL ou Debian , systemd est systemd.
dsoxlab start drill-systemd -
Drill , partitions, LVM et swap en conditions d'examen
5 tâches, 100 points, 25 minutes, aucun indice : partitionner un disque en GPT, monter une pile LVM, monter par UUID de façon persistante, ajouter du swap, et étendre un volume logique à chaud. Jouable sur RHEL ou Debian , parted, LVM et XFS sont identiques.
dsoxlab start drill-storage -
Drill , gestion des paquets en conditions d'examen
5 tâches, 100 points, 20 minutes, aucun indice : installer un paquet, le geler contre les mises à jour, trouver quel paquet fournit un fichier, lister ce qu'un paquet a installé, et en supprimer un. L'objectif est commun à RHCSA et LFCS , seul l'outil change (dnf ou apt), et tu emploies celui de ta distribution.
dsoxlab start drill-packages -
Drill , pare-feu en conditions d'examen
5 tâches, 100 points, 20 minutes, aucun indice : activer le pare-feu, ouvrir deux ports qui survivent à un rechargement, garder SSH vivant, et rejeter explicitement un port. L'objectif est commun à RHCSA et LFCS , seul l'outil change (firewalld ou ufw).
dsoxlab start drill-firewall -
Drill , SELinux en conditions d'examen
4 tâches, 100 points, 20 minutes, aucun indice : remettre SELinux en enforcing pour de bon, corriger un contexte de fichier qui survit à une relabellisation, basculer un booléen de façon persistante, et étiqueter un port non standard. RHCSA uniquement , Debian utilise AppArmor, voir drill-apparmor.
dsoxlab start drill-selinux -
Drill , réseau statique en conditions d'examen
4 tâches, 100 points, 20 minutes, aucun indice : une adresse statique, une route statique et un MTU sur une interface dédiée, plus la résolution de noms locale. L'objectif est commun à RHCSA et LFCS , seul l'outil change (nmcli ou netplan).
dsoxlab start drill-network
Épreuves de synthèse
-
Mettre un serveur en production : une mission, neuf livrables, un redémarrage
Une VM neuve, une application livrée, et une mission : la mettre en service. Stockage sur LVM, compte de service, application sur le port 8080, étiquette de port et contexte SELinux, règle de pare-feu permanente, journal persistant, SSH durci, sauvegarde planifiée. Rien n'est noté sur les commandes tapées : chaque test lit un état observable, et le dernier redémarre la machine avant de regarder une seconde fois. Ce qui ne survit pas au redémarrage vaut zéro.
dsoxlab start capstone-mise-en-production -
Serveur cassé : le site ne répond plus, le symptôme ne dit rien
Un site interne qui marchait cesse de répondre. Le setup injecte UNE panne parmi six, tirée au sort, et ne dit jamais laquelle : service arrêté, mauvais port, pare-feu fermé, contexte SELinux, permissions du docroot, système de fichiers plein. Vous diagnostiquez, vous réparez, et la réparation doit survivre à un redémarrage. La notation porte uniquement sur l'état observable, avec trois contrôles qui refusent les réparations à la masse : SELinux doit rester enforcing, firewalld doit rester actif, et le docroot ne doit pas devenir accessible en écriture à tous.
dsoxlab start capstone-serveur-casse -
Examen blanc RHCSA EX200 , 20 tâches sur 2 VMs
Examen blanc RHCSA performance-based couvrant les 10 domaines RHCSA : stockage (LVM, swap, client NFS), script shell, réseau (IP statique, firewalld), utilisateurs/groupes, ACL, services (units systemd, timers, client de temps), SELinux (modes, contextes, booléens, ports), logiciel (DNF, Flatpak), boot recovery (rd.break reset root). 20 tâches notées sur 100 points réparties sur 2 VMs (serveur + client). 70/100 pour réussir. Aucun indice.
dsoxlab start rhcsa-mock-exam