61 labs pratiques pour préparer le Linux Foundation Certified System Administrator, soit environ 27 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.
Même métier que le RHCSA, mais sans distribution imposée : l'examen se passe au terminal, sur une distribution que vous choisissez parmi celles proposées.
- 61labs
- 27heures de pratique
- 44sur machines virtuelles
Niveaux 18 débutant 37 intermédiaire 6 avancé
Objectifs officiels de l'examen publiés par The Linux Foundation
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 -
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 -
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 -
É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 -
Initialiser un dépôt Git : commit, historique et branche
Créer un dépôt, faire deux commits qui suivent de vrais fichiers, et ouvrir une branche feature , prouvé en inspectant l'état du dépôt lui-même.
dsoxlab start l1-git-basics -
Variables d'environnement : export, PATH et un fichier env sourcé
Écrire env.sh qui, une fois sourcé, exporte des variables, en réutilise une dans une autre, et ajoute un répertoire bin en tête de PATH , prouvé en le sourçant dans un sous-shell.
dsoxlab start l1-env-profiles -
Inspecter un certificat TLS avec openssl
Lire un certificat X.509 fourni : en extraire le sujet, les dates de validité, l'empreinte SHA-256 et la clé publique avec openssl x509.
dsoxlab start l1-ssl-certificates
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 -
Optimiser un montage avec noatime (de façon persistante)
Un filesystem très sollicité en lecture gaspille des I/O à écrire les dates d'accès. Ajoute l'option noatime, rends-la active et persistante dans /etc/fstab.
dsoxlab start l2-storage-performance -
É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 -
Monter un export NFS de façon persistante depuis un serveur
Un second hôte exporte un partage NFS. Monte-le côté client sur /mnt/nfs, rends-le persistant dans /etc/fstab avec _netdev pour qu'il survive au reboot.
dsoxlab start l2-nfs-mount-persist -
Monter un filesystem à la demande avec autofs
Configurer autofs pour qu'accéder à /autofs/data monte automatiquement le disque supplémentaire, et le démonte après inactivité , une carte maître et une carte de montage.
dsoxlab start l2-autofs-ondemand -
Construire un RAID 1 logiciel avec mdadm
Assembler deux disques en un RAID 1 redondant avec mdadm, le formater, le monter et le rendre persistant.
dsoxlab start l2-raid-mdadm -
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
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 -
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 -
Régler les limites de ressources par utilisateur (fichiers ouverts) avec limits.d
Donner au compte appuser une limite de fichiers ouverts plus haute via /etc/security/limits.d , prouvé par le ulimit effectif dans une vraie session de login.
dsoxlab start l3-app-constraints -
Abaisser la priorité d'ordonnancement d'un service avec Nice
Un worker batch monopolise le CPU. Donne à son service un nice de 10 pour qu'il cède la main au travail interactif , prouvé par la priorité live du processus et la config de l'unit.
dsoxlab start l3-process-signals-priority -
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
-
Répartir la charge d'un backend web avec HAProxy
Configurer HAProxy sur l'hôte frontal pour faire reverse-proxy et répartir la charge vers un serveur web backend, de façon persistante , prouvé par une requête à travers le proxy qui renvoie la page du backend.
dsoxlab start l4-reverse-proxy-lb -
Agréger des liens : un bond active-backup sous un bridge avec nmcli
Construire un bond active-backup sur deux interfaces esclaves et poser un bridge par-dessus, de façon persistante avec NetworkManager , prouvé par l'état du bonding et le port du bridge.
dsoxlab start l4-bridge-bonding
Variantes Debian et Ubuntu
-
Gérer les paquets Debian avec apt et dpkg
Installer un paquet avec apt, le figer avec un hold pour que les mises à jour l'ignorent, et identifier quel paquet possède un fichier , les compétences de gestion de paquets Debian pour LFCS.
dsoxlab start lfcs-package-apt -
Ouvrir un service dans le pare-feu avec ufw
Autoriser le service http et activer ufw pour qu'il filtre au boot, sans jamais couper SSH , le pendant Debian de firewalld, prouvé par ufw status.
dsoxlab start lfcs-firewall-ufw -
Gérer un profil AppArmor : le passer en mode complain
Passer un profil AppArmor chargé en mode complain (apprentissage) avec aa-complain et le prouver avec aa-status , le pendant Debian du contrôle d'accès obligatoire de SELinux.
dsoxlab start lfcs-apparmor -
Configurer une IP statique et une route avec netplan
Déclarer une adresse IPv4 statique et une route statique dans un fichier netplan et l'appliquer sur une interface dédiée , la configuration réseau Debian/Ubuntu, prouvée par l'adresse et la route actives.
dsoxlab start lfcs-netplan-static -
Activer les quotas utilisateur XFS et imposer une limite
Formater un disque dédié en XFS, le monter avec les quotas utilisateur activés de façon persistante, et imposer un quota de blocs à un utilisateur , prouvé par l'état des quotas et la limite appliquée.
dsoxlab start lfcs-storage-quotas -
Monter un partage SMB/CIFS de façon persistante et sûre
Un second hôte sert un partage SMB. Monte-le sur le client, rends-le persistant dans /etc/fstab avec _netdev, et garde le mot de passe hors du fstab lisible par tous grâce à un fichier credentials en 0600.
dsoxlab start lfcs-mount-cifs
É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 , AppArmor en conditions d'examen
4 tâches, 100 points, 15 minutes, aucun indice : confirmer qu'AppArmor tourne, mettre un profil en mode plainte, et ramener deux autres en mode application. LFCS uniquement , RHEL utilise SELinux, voir drill-selinux.
dsoxlab start drill-apparmor -
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 -
Examen blanc LFCS , 17 tâches sur Ubuntu 24.04
Examen blanc LFCS orienté performance, confronté tâche par tâche aux objectifs publiés des 5 domaines officiels : Essential Commands (20 % : Git, dépannage de service, espace disque, SSL), Operations Deployment (25 %), Users and Groups (10 % : comptes et ACL), Networking (25 %), Storage (20 % : LVM, automontage, swap). 17 tâches notées sur 100 points sur une seule VM Ubuntu. 70/100 pour réussir. Aucun indice.
dsoxlab start lfcs-mock-exam