Métier
Administrateur Linux
Garder des serveurs Linux disponibles, sûrs et à jour, les mettre en service de façon reproductible et les remettre en état quand ils cassent.
Viser ce métierCe que fait ce métier
- 7 responsabilités
- 16 missions
- 62 compétences
- 258 heures de travail une estimation, en partant de zéro
Le métier
Ce que fait un Administrateur Linux
Sept responsabilités. Chacune s’exerce à travers des missions concrètes, qui demandent des compétences.
Mettre en service des serveurs sûrs
Missions qui la composent
-
Migrer un service et ses données vers un nouveau serveur
Livrableun service et ses données transférés, vérifiés et remis en service sur un nouveau serveur
-
Gérer les comptes et les accès d'une équipe
Livrabledes comptes et groupes créés, des droits privilégiés limités, des accès SSH par clé
-
Mettre un serveur en production
Livrableun serveur Linux durci, son stockage configuré, ses services démarrés au boot et vérifiés après redémarrage
- Administrer un service systemd
- Préparer un stockage local : disques, partitions, systèmes de fichiers et montage
- Gérer les comptes et la délégation d'un serveur : utilisateurs, groupes, annuaire LDAP, sudo et ACL
- Filtrer le trafic d'un serveur avec un pare-feu hôte, NAT compris
- Faire fonctionner un serveur sous SELinux ou AppArmor : modes, contextes et dépannage
- Gérer des volumes logiques, le RAID logiciel et le chiffrement de disque
-
Durcir un serveur et mesurer sa conformité
Livrableun serveur durci (accès, services confinés) et un rapport d'écart à un référentiel, rejouable
- Gérer les comptes et la délégation d'un serveur : utilisateurs, groupes, annuaire LDAP, sudo et ACL
- Filtrer le trafic d'un serveur avec un pare-feu hôte, NAT compris
- Faire fonctionner un serveur sous SELinux ou AppArmor : modes, contextes et dépannage
- Mesurer l'écart d'un serveur à un référentiel de durcissement et prioriser les mesures (ANSSI-BP-028, CIS)
- Durcir l'accès et les privilèges d'un serveur : SSH, PAM, sudo, permissions et planification
- Durcir le démarrage, les montages et la session locale : GRUB, nodev, nosuid, noexec, bannières, dconf
- Durcir le noyau en place : paramètres sysctl persistants et modules interdits
- Confiner un service : contrôle d'accès obligatoire (SELinux ou AppArmor), puis sandboxing systemd
-
Configurer le réseau d'un serveur et le diagnostiquer
Livrableune interface, ses routes et sa résolution persistantes, le pare-feu local réglé, une panne localisée couche par couche
Demandé aussi, hors mission
Diagnostiquer et réparer un serveur
Missions qui la composent
-
Remettre en état un serveur cassé
Livrableun serveur réparé dont les services sont rétablis et le restent après redémarrage
Exploiter et maintenir un parc
Missions qui la composent
-
Faire évoluer le stockage d'un serveur sans interruption
Livrableun volume étendu à chaud, un partage réseau monté, des montages persistants
-
Appliquer un changement avec retour arrière prévu
Livrableun changement appliqué après un instantané ou une transaction réversible, documenté, et son retour arrière éprouvé
-
Maintenir un parc de serveurs à jour et sous contrôle
Livrableun parc mis à jour sans interruption, sa dérive détectée, ses tâches récurrentes automatisées et surveillées
-
Superviser un service et réagir aux alertes
Livrabledes métriques collectées, un tableau de bord et des alertes actionnables routées
Demandé aussi, hors mission
- Composer un pipeline qui extrait, trie, compte, compare et suit un flux de texte
- Transformer des fichiers et des flux avec sed, awk et les expressions régulières
- Éditer un fichier de configuration dans Vim : modes, motions, substitution
- Télécharger un fichier et vérifier son intégrité et son authenticité
Assurer la continuité et la capacité
Missions qui la composent
-
Assurer la continuité et la capacité d'un service
Livrableun plan de reprise éprouvé par un exercice, des objectifs de reprise (RTO, RPO) tenus et une capacité anticipée
-
Sauvegarder un serveur et prouver qu'il se restaure
Livrableune sauvegarde planifiée hors de la machine et une restauration chronométrée, vérifiée fichier à fichier
Tenir l'exploitation dans la durée : astreinte et documentation
Missions qui la composent
-
Tenir une astreinte et documenter l'exploitation
Livrableune rotation d'astreinte et son escalade définies, chaque alerte reliée à son runbook, un incident traité jusqu'au rétablissement
Automatiser l'administration d'un parc
Missions qui la composent
-
Configurer un parc par le code
Livrabledes serveurs configurés par des rôles Ansible idempotents, rejoués sans écart
-
Rejouer la mise en service d'un serveur par le code
Livrablele serveur de la mise en production reconstruit par un playbook : inventaire décrit, paquets et dépôts, services et tâches planifiées, comptes et clés, stockage, fichiers rendus par template ou édités, durcissement ; rejoué sans changement
- Décrire un parc dans un inventaire statique Ansible : groupes, variables et patterns
- Conditionner et répéter des tâches Ansible avec when et loop
- Déposer, récupérer et archiver des fichiers par Ansible de façon idempotente
- Modifier un fichier de configuration existant par Ansible sans le réécrire
- Piloter services, tâches planifiées, nom d'hôte et redémarrages d'un hôte par Ansible
- Gérer comptes, groupes, clés SSH et droits sudo par Ansible
- Durcir un hôte par Ansible : pare-feu, SELinux et paramètres noyau
- Partitionner, formater et monter du stockage par Ansible, LVM compris
- Générer un fichier de configuration par Ansible avec un template Jinja2
- Installer des paquets et déclarer des dépôts par Ansible sur plusieurs distributions
Demandé aussi, hors mission
Fournir des machines virtuelles jetables et reproductibles
Missions qui la composent
-
Monter un environnement virtualisé jetable et reproductible
Livrableun hyperviseur dont la virtualisation matérielle est vérifiée, des machines virtuelles créées depuis une image et configurées dès leur premier démarrage, raccordées au réseau avec un service publié, détruites puis recréées à l'identique
Demandé aussi, hors mission
Les moyens
Avec quels outils ?
Choisissez vos outils : le choix change les leçons à lire, jamais les responsabilités.
Langage d’automatisation
Hyperviseur
Pour aller plus loin
Les spécialisations
Facultatives, mesurées à part du métier.
Automatiser et outiller en Python
- Lire et transformer des données (JSON, YAML, API)
- Écrire un outil en ligne de commande testé
- Manipuler listes, tuples, ensembles et découpes en Python
- Traiter et générer du texte en Python : chaînes, regex, dates et templates Jinja
- Organiser son code en modules et publier un paquet sur PyPI
- Gérer les versions de Python, les dépendances et les outils installés (pyenv, pipx, Poetry)
- Tester en isolation et sur plusieurs versions de Python (unittest, mock, tox)
- Auditer la qualité et la sécurité du code et des dépendances d'un projet
- Lire, installer et modifier un petit outil Python
- Lancer des tests pytest, lire un échec et corriger un défaut simple
Exploiter des conteneurs
- Situer et piloter les couches d'exécution d'un conteneur : runtime OCI, moteur et orchestrateur
- Exécuter des conteneurs, persister et connecter
- Exploiter et dépanner des conteneurs Docker : cycle de vie, journaux, inspection et daemon
- Expliquer et inspecter l'isolation d'un conteneur Linux : namespaces, cgroups, capabilities, seccomp
- Mettre en place Podman en mode rootless et expliquer son modèle sans démon
- Regrouper des conteneurs en pods et rejouer un manifeste Kubernetes en local
- Exécuter des conteneurs Podman comme services systemd avec Quadlet
Diagnostiquer un service adossé à une base relationnelle
Administrer le réseau des serveurs et du site
- Comprendre le réseau local : Ethernet, MAC et ARP
- Exploiter IPv6 : link-local, SLAAC, NDP et dual-stack
- Comprendre et diagnostiquer l'attribution DHCP
- Segmenter un réseau par VLAN
- Capturer et lire le trafic réseau
- Lire un échange HTTP(S) et diagnostiquer une erreur applicative
- Diagnostiquer la délivrabilité d'une messagerie
- Inventorier les services exposés d'un hôte ou d'un réseau
- Diagnostiquer une erreur TLS et produire un certificat
Exécuter Ansible sur un parc en production
- Interroger une sortie structurée avec JMESPath (AWS CLI, Azure CLI, Ansible)
- Contrôler l'exécution d'un playbook : parallélisme, asynchrone, délégation et inclusion
- Connecter Ansible à un parc Windows
- Découvrir automatiquement les hôtes d'un parc par un plugin d'inventaire Ansible
- Gérer l'échec d'une tâche Ansible : rattraper, ignorer ou arrêter le play
- Exécuter une commande brute par Ansible de façon idempotente et correctement rapportée
- Télécharger un artefact vérifié et dialoguer avec une API HTTP depuis un playbook
- Construire un inventaire Ansible au fil du play ou par un script maison
- Contrôler les préconditions et synchroniser l'exécution d'un playbook
- Assembler des rôles Ansible dans un playbook
Gérer un parc avec Chef (CINC)
- Écrire un cookbook Chef et le converger de façon idempotente, en conteneur puis sur une VM
- Rendre un cookbook configurable et portable : attributs, templates, Ohai
- Structurer un cookbook maintenable : recettes, ressources personnalisées, notifications, lint
- Tester un cookbook avant et après convergence : ChefSpec, InSpec, Test Kitchen, CI
- Verrouiller les cookbooks avec les Policyfiles et les livrer sans serveur
- Exploiter un parc avec un serveur CINC : enrôlement, recherche, policy groups, mode pull
- Mesurer et corriger la conformité d'un serveur avec InSpec et Chef
- Protéger les secrets d'un parc Chef : data bags chiffrés et chef-vault
Gérer un parc avec Salt
- Piloter un parc à distance avec Salt : master, minions, clés et ciblage
- Décrire l'état voulu d'un serveur en states Salt idempotents
- Rendre les states génériques avec grains, pillars, Jinja et fichiers gérés
- Coordonner un parc Salt : orchestration multi-nœuds, Salt SSH et Reactor
- Industrialiser Salt : secrets GPG, states depuis Git, master durci, enrôlement automatique
Configurer et auditer un parc avec Rudder
Exploiter KVM et libvirt
- Exploiter des VM KVM au quotidien avec virsh, l'agent invité et l'accès distant
- Confiner une VM KVM avec libvirt : sVirt, Secure Boot, vTPM et filtrage nwfilter
- Adapter une VM KVM au matériel de l'hôte : CPU, virtio, cache disque et passthrough VFIO
- Sauvegarder, cloner et migrer à chaud une VM KVM avec libvirt
Exploiter Incus et y migrer un parc
- Exploiter des instances Incus : images OCI, stockage, profils, projets et GPU
- Sécuriser un serveur Incus et son administration à distance
- Diagnostiquer une VM Incus bloquée au démarrage
- Automatiser Incus avec Ansible : connection plugin, provisioning et images personnalisées
- Migrer vers Incus : VM VMware, installation LXD, machine physique ou virtuelle
Exploiter Proxmox VE
Tracer et durcir le noyau avec eBPF
Durcir un serveur immuable par déclaration (NixOS)
Administrer une forge Git auto-hébergée (Forgejo)
- Mettre en service Forgejo sur PostgreSQL derrière un proxy TLS, accessible en HTTPS et en SSH, puis régler courrier, LFS et inscriptions
- Gouverner les accès à Forgejo : organisations, équipes et droits, connexion par un fournisseur OIDC avec second facteur imposé, et assistance aux comptes en ligne de commande
- Superviser Forgejo par ses journaux et ses métriques Prometheus, déclencher une alerte et diagnostiquer une panne de la base
- Sécuriser une instance Forgejo : webhooks fermés au réseau interne, force brute bannie par fail2ban, compte administrateur de secours, jetons à portée limitée et commits signés
- Sauvegarder Forgejo, copier la sauvegarde chiffrée hors de la machine, la restaurer sur une pile vierge et rédiger le runbook de reprise
- Entretenir Forgejo et monter de version : tâches planifiées, doctor et quotas, montée répétée sur une copie avec critères de validation et retour arrière par la sauvegarde
Ce que le site ne couvre pas encore
Supervision : enseignée par la formation Observabilité, dont les labs tournent sur Minikube ; savoir lancer des conteneurs (container.run) en est donc un prérequis. Un chemin sans conteneur (node_exporter et Prometheus sous systemd) est en préparation (todo/missions-metiers/tout-enseigner.md, geste 24).