
Vous avez installé Rudder et accepté quelques nodes. Et maintenant ? Ce guide vous accompagne dans votre premier cas d’usage concret : créer un compte utilisateur standard sur tous vos serveurs Linux.
Ce scénario simple vous permettra de manipuler les 4 concepts fondamentaux de Rudder : Technique, Directive, Groupe et Règle.
Le scénario
Section intitulée « Le scénario »Objectif : Créer un compte utilisateur devops sur tous vos serveurs Linux,
avec :
- Le paquet
sudoinstallé (indispensable sur certaines distributions minimales) - Un groupe
devopsdédié - Un compte
devopsmembre du groupesudo(pour les droits sudo)
Pourquoi cet ordre ? On doit s’assurer que les dépendances sont satisfaites : d’abord le paquet, puis le groupe, enfin l’utilisateur. Rudder appliquera les directives dans l’ordre où elles apparaissent dans la règle.
Prérequis
Section intitulée « Prérequis »- Un serveur Rudder fonctionnel (guide d’installation)
- Au moins 2 nodes acceptés (pour voir l’effet sur plusieurs machines)
- Accès administrateur à l’interface web
Étape 1 : Créer la Directive “Package sudo”
Section intitulée « Étape 1 : Créer la Directive “Package sudo” »Commençons par garantir que le paquet sudo est installé sur toutes les machines.
-
Accédez aux Directives
Dans le menu, cliquez sur Directives dans la barre latérale.
-
Trouvez la Technique Package management
Dans le panneau de gauche, naviguez dans l’arborescence : System settings → Package management
-
Créez la Directive
Cliquez sur Create et remplissez :
Champ Valeur Name Package sudoDescription Assure que le paquet sudo est installé -
Configurez les paramètres
Paramètre Valeur Package name sudoPackage state Present -
Sauvegardez
Cliquez sur Save.
Étape 2 : Créer la Directive “Group devops”
Section intitulée « Étape 2 : Créer la Directive “Group devops” »Maintenant, créons le groupe auquel appartiendra notre utilisateur.
-
Trouvez la Technique Group management
Dans l’arborescence : User Management → Groups
-
Créez la Directive
Champ Valeur Name Group devopsDescription Groupe pour l'équipe DevOps -
Configurez les paramètres
Paramètre Valeur Group name devopsPolicy Present -
Sauvegardez
Étape 3 : Créer la Directive “User devops”
Section intitulée « Étape 3 : Créer la Directive “User devops” »Enfin, créons l’utilisateur qui dépend des deux éléments précédents.
-
Trouvez la Technique User management
Dans l’arborescence : User Management → Users
-
Créez la Directive
Champ Valeur Name User devopsDescription Compte standard pour l'équipe DevOps -
Configurez les paramètres utilisateur
Paramètre Valeur Explication Login devopsNom du compte Policy PresentOn veut créer l’utilisateur Password (votre mot de passe hashé) Voir note ci-dessous Home directory /home/devopsRépertoire personnel Default shell /bin/bashShell par défaut Primary group devopsGroupe créé à l’étape 2 Secondary groups sudoPour les droits sudo -
Sauvegardez

Étape 4 : Créer le Groupe cible
Section intitulée « Étape 4 : Créer le Groupe cible »Nous allons créer un Groupe qui identifie les machines concernées.
-
Accédez aux Groupes
Menu Node Management → Groups.
-
Créez un nouveau Groupe
Cliquez sur Create en haut du panneau de gauche.
-
Choisissez le type
Pour ce premier exercice, nous allons créer un Groupe dynamique qui cible automatiquement tous les serveurs Linux.
-
Configurez le Groupe
Champ Valeur Name All Ubuntu Linux serversDescription All Ubuntu Linux servers (excluding Rudder server)Group type Dynamic -
Définissez le critère
Cliquez sur Add criteria et configurez :
Champ Valeur Attribute Operating System NameComparator EqualsValue Linux - UbuntuVous pouvez ajouter un second critère pour exclure le serveur Rudder si besoin.
-
Prévisualisez les membres
Cliquez sur Search pour voir quelles machines correspondent au critère. Vérifiez que vos nodes de test apparaissent.
-
Sauvegardez
Cliquez sur Save. Le Groupe est créé et se mettra à jour automatiquement si de nouveaux nodes Linux sont ajoutés.

Étape 5 : Créer la Règle
Section intitulée « Étape 5 : Créer la Règle »C’est l’étape finale : lier les 3 Directives au Groupe.
-
Accédez aux Règles
Menu Configuration → Rules.
-
Créez une nouvelle Règle
Cliquez sur Create.
-
Remplissez les informations
Champ Valeur Name DevOps user on Linux serversShort Description Install sudo, create group and user devops -
Sélectionnez les 3 Directives (dans l’ordre)
Dans la section Directives, cochez dans cet ordre :
Package sudoGroup devopsUser devops
-
Sélectionnez le Groupe
Dans la section Groups, cochez
All Ubuntu Linux servers. -
Activez la Règle
En haut de la page, assurez-vous que le switch Status est sur Enabled.
-
Sauvegardez
Cliquez sur Save. La Règle est active !
Étape 6 : Vérifier l’application
Section intitulée « Étape 6 : Vérifier l’application »Maintenant que la Règle est active, voyons ce qui se passe.
Comportement normal
Section intitulée « Comportement normal »Par défaut, l’agent Rudder s’exécute toutes les 5 minutes. À la prochaine exécution :
- L’agent contacte le serveur
- Le serveur lui envoie les politiques applicables
- L’agent détecte que l’utilisateur
devopsn’existe pas - L’agent crée l’utilisateur
- L’agent rapporte le succès au serveur
Forcer l’exécution immédiate
Section intitulée « Forcer l’exécution immédiate »Pour ne pas attendre 5 minutes :
Via l’interface web :
- Allez dans Node Management → Nodes
- Cliquez sur un node
- En haut, cliquez sur Trigger Agent (icône play)
Via la ligne de commande (sur le node) :
sudo rudder agent run -vLe -v (verbose) affiche le détail de ce qui se passe.
Vérifier le résultat sur le node
Section intitulée « Vérifier le résultat sur le node »Connectez-vous au node et vérifiez :
# L'utilisateur existe ?id devops
# Résultat attendu :# uid=1001(devops) gid=1001(devops) groups=1001(devops),27(sudo)
# Le home existe ?ls -la /home/devops/
# Il peut utiliser sudo ?su - devopssudo whoami# Doit afficher "root"Étape 7 : Consulter les rapports
Section intitulée « Étape 7 : Consulter les rapports »Rudder collecte des rapports détaillés sur l’application des politiques.
Compliance par Règle
Section intitulée « Compliance par Règle »- Allez dans Configuration → Rules
- Cliquez sur votre Règle “DevOps user on Linux servers”
- L’onglet Nodes montre l’état par node et par directive
Vous verrez un graphique montrant :
- ✓ Compliant — La configuration est conforme (vert)
- ↻ Repaired — Rudder a dû corriger quelque chose (bleu)
- ✗ Error — L’application a échoué (rouge)
- ? No report — L’agent n’a pas rapporté (gris)
Compliance par Node
Section intitulée « Compliance par Node »- Allez dans Node Management → Nodes
- Cliquez sur un node
- L’onglet Compliance liste toutes les Règles appliquées et leur état

Comprendre les états
Section intitulée « Comprendre les états »| État | Signification | Action |
|---|---|---|
| Comp | Tout est conforme | Rien à faire |
| Repaired | Une correction a été appliquée | Normal lors du premier déploiement |
| Error | L’agent n’a pas pu appliquer | Consulter les logs |
| No report | Pas de rapport reçu | Vérifier la connectivité |
Test de réparation automatique
Section intitulée « Test de réparation automatique »Un des avantages de Rudder est la convergence continue : si quelqu’un supprime l’utilisateur manuellement, Rudder le recréera automatiquement.
Test :
# Sur un node, supprimez l'utilisateursudo userdel -r devops
# Attendez 5 minutes (ou forcez l'exécution)sudo rudder agent run
Rudder agent 9.0.2Node uuid: 0fe26e8b-673c-4a72-aaea-8bbe0e3509d6ok: Rudder agent policies were updated.Start execution with config [20251217-133040-b65124a4]
M| State Technique Component Key MessageE| compliant Common ncf Initialization Configuration library initialization was correctE| compliant Common Update Policy and configuration library are already up to date. No action required.E| repaired Common Security parameters Some internal security parameters were adjustedE| compliant Common CRON Daemon CRON is correctly runningE| compliant Common Log system for reports Reports forwarding to policy server was correctE| compliant Inventory Inventory Next inventory scheduled between 00:00 and 06:00E| repaired groupManagement Groups devops The group devops has been updatedE| compliant packageManagement Package sudo Presence of package sudo in any version was correctE| repaired userGroupManagement User primary group devops User devops has been createdE| repaired userManagement Password devops User devops password definition was repairedE| repaired userGroupManagement User full name devops User devops has been createdE| repaired userGroupManagement User default shell devops User devops has been createdE| repaired userGroupManagement Home directory devops User devops has been createdE| repaired userManagement User secondary groups devops Setting secondary groups for user devops was repairedE| repaired userGroupManagement Users devops The user devops ( Without any defined full name ) has been created on the system
## Summary #####################################################################19 components verified in 7 directives => 19 components in Enforce mode -> 6 compliant -> 9 repaired -> 4 not-applicableExecution time: 0.81s################################################################################
# Vérifiez que l'utilisateur est recrééid devopsDans les rapports, vous verrez un statut Repaired pour ce node.
Aller plus loin
Section intitulée « Aller plus loin »Ajouter une clé SSH
Section intitulée « Ajouter une clé SSH »La technique “Users” ne gère pas les clés SSH. Utilisez la technique dédiée “SSH authorised keys” :
- Allez dans Directives → Remote Access → SSH authorised keys
- Créez une nouvelle Directive “SSH key devops”
- Configurez :
- Tag :
devops-ssh-key - Username :
devops - SSH key : collez la clé publique (
ssh-ed25519 AAAA...oussh-rsa AAAA...)
- Tag :
- Ajoutez cette Directive à votre Règle existante
- Sauvegardez
Différencier par environnement
Section intitulée « Différencier par environnement »Si vous voulez des configurations différentes en prod et en dev :
- Créez deux Groupes : “Linux Production” et “Linux Development”
- Créez deux Directives avec des paramètres différents (ex: différentes clés SSH)
- Créez deux Règles liant chaque Directive à son Groupe
Supprimer un utilisateur
Section intitulée « Supprimer un utilisateur »Pour supprimer l’utilisateur :
- Éditez la Directive
- Changez “Present/Absent” en Absent
- Sauvegardez
À la prochaine exécution, l’utilisateur sera supprimé de toutes les machines.
Dépannage
Section intitulée « Dépannage »L’utilisateur n’est pas créé
Section intitulée « L’utilisateur n’est pas créé »Vérifiez les logs sur le node :
sudo rudder agent run -v 2>&1 | grep -i userCauses fréquentes :
- Le groupe
sudon’existe pas sur ce système (essayezwheelsur RHEL) - Le hash du mot de passe est invalide
- Permissions insuffisantes (agent ne tourne pas en root)
Le rapport reste en “No report”
Section intitulée « Le rapport reste en “No report” »# Sur le node, vérifiez que l'agent fonctionnesudo systemctl status rudder-agent
# Forcez l'envoi des rapportssudo rudder agent inventorysudo rudder agent runLa Directive ne s’applique pas
Section intitulée « La Directive ne s’applique pas »Vérifiez que :
- La Règle est Enabled
- La Directive est bien sélectionnée dans la Règle
- Le Groupe contient bien les nodes attendus (bouton Search)
À retenir
Section intitulée « À retenir »- Le flux complet : Technique → Directive → Groupe → Règle
- Attendez 5 minutes ou forcez l’exécution avec
rudder agent run - Les rapports vous indiquent l’état de conformité
- Rudder maintient l’état : si quelqu’un défait votre travail, Rudder le refait
- Testez d’abord sur un petit groupe avant un déploiement global
- Les mots de passe doivent toujours être hashés (SHA-512)