Objectif
Écrire un playbook complet qui crée plusieurs comptes, leurs groupes, distribue leurs clés SSH et accorde des droits sudo ciblés, en une seule exécution sur toute la flotte — puis observer l’idempotence en le rejouant.
Environnement disponible
Vous disposez de :
- 1 serveur de contrôle avec Ansible installé
- 2 clients Debian
nrd-web1nrd-db1
Informations de connexion
- Utilisateur :
root - Mot de passe :
formation
⚠️ Les conteneurs de ce lab repartent de zéro à chaque session. Les premières étapes ci-dessous refont donc systématiquement tout le bootstrap.
Ce que vous allez réaliser
- Installer Ansible
- Générer une clé SSH pour le nœud de contrôle et la déployer sur les deux clients
- Localiser les IP et créer l’inventaire
- Générer une clé SSH dédiée pour chacun des deux nouveaux employés (Alice, Bob)
- Écrire un playbook qui, en une seule exécution :
- crée le groupe
support - crée les comptes
aliceetbob, rattachés à ce groupe - déploie la clé publique de chacun
- accorde à
aliceun droit sudo ciblé (redémarrer Apache uniquement)
- crée le groupe
- Exécuter le playbook, puis le rejouer pour observer l’idempotence
- Vérifier qu’Alice peut se connecter avec sa propre clé, sans mot de passe
Conseils
- Utilisez
loopavec une liste de dictionnaires pour créer les deux comptes en une seule tâche, plutôt que de dupliquer les tâches. - N’oubliez pas
validate: "visudo -cf %s"sur le fichier sudoers — une erreur de syntaxe non détectée pourrait bloquer sudo sur toute la machine. - Le mot de passe des nouveaux comptes n’est pas traité dans ce TP (on le fera proprement avec Vault en section 8) — seule la connexion par clé est mise en place ici.