Premier cas d'usage Rudder : gérer des utilisateurs
Mise à jour :
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
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
- 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”
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”
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”
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
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
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
Maintenant que la Règle est active, voyons ce qui se passe.
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
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
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
Rudder collecte des rapports détaillés sur l’application des politiques.
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
- 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
| É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
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
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
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
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
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”
# 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
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
- 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)
Liens utiles
- Concepts Rudder — Comprendre Techniques, Directives, Groupes, Règles
- Documentation Technique User Management ↗ — Documentation officielle