Sudoers Builder
Generateur de regles sudoers avec validation de syntaxe.
Configuration de la regle
ALL = tous les hotes
:
Utilisateur : Groupe (ex: root:wheel)
Une commande par ligne ou separees par virgules
Presets courants
Regle generee
admin ALL=(ALL) ALL
✓
Fichier complet
# /etc/sudoers.d/custom-rules # Genere par ShellBook Sudoers Builder admin ALL=(ALL) ALL
Commandes d'installation
# Creer le fichier (TOUJOURS utiliser visudo!) sudo visudo -f /etc/sudoers.d/custom-rules # Ou via echo (risque) echo 'admin ALL=(ALL) ALL' | sudo tee /etc/sudoers.d/custom-rules sudo chmod 440 /etc/sudoers.d/custom-rules # Verifier la syntaxe sudo visudo -c -f /etc/sudoers.d/custom-rules
Generateur d'Alias
User_Alias ADMINS = user1, user2, user3
Reference Syntaxe
| Element | Description | Exemples |
|---|---|---|
ALL |
Wildcard universel | Tous les hotes, users, commandes |
%groupe |
Groupe systeme | %wheel, %sudo, %admin |
! |
Negation | ALL, !/bin/su |
NOPASSWD: |
Sans mot de passe | NOPASSWD: /usr/bin/apt |
sha256: |
Verification hash | sha256:abc123... /path/cmd |
Bonnes pratiques sudoers
Toujours utiliser visudo
Ne jamais editer /etc/sudoers directement. Utiliser visudo qui valide la syntaxe avant de sauvegarder.
Structure recommandee
/etc/sudoers # Fichier principal (ne pas modifier)
/etc/sudoers.d/ # Fichiers supplementaires
├── 10-admins # Regles admin
├── 20-developers # Regles dev
├── 30-services # Comptes de service
└── 90-monitoring # Monitoring
Exemples courants
# Admin complet
admin ALL=(ALL:ALL) ALL
# Groupe wheel sans mot de passe
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
# Commandes specifiques
deploy ALL=(root) NOPASSWD: /usr/bin/systemctl restart myapp
# Exclusion de commandes dangereuses
operator ALL=(ALL) ALL, !/bin/su, !/bin/bash, !/usr/bin/passwd root
# Avec logging
auditor ALL=(ALL) LOG_INPUT: LOG_OUTPUT: ALL
Securite
| Pratique | Recommandation |
|---|---|
| NOPASSWD | Limiter aux commandes specifiques |
| ALL | Eviter sauf pour admins |
| Wildcards | Attention aux injections de commandes |
| Chemins | Toujours utiliser des chemins absolus |
| Logging | Activer LOG_INPUT/LOG_OUTPUT pour audit |