linuxuserssudo
MDstable
Gestion des utilisateurs Linux
Créer, modifier, supprimer des comptes utilisateurs et gérer sudo
snippetbeginner 2025-05-10 3 min read
linuxuserssudopermissionsuseradd
Créer un utilisateur
bash
Variables
{{USER}}
{{PASSWORD}}
# Avec répertoire home et shell par défautuseradd -m -s /bin/bash {{USER}}# Avec commentaire (nom complet) et groupe primaireuseradd -m -s /bin/bash -c "John Doe" -g users {{USER}}# Définir le mot de passepasswd {{USER}}# Créer + mot de passe en une ligneuseradd -m -s /bin/bash {{USER}} && echo "{{USER}}:{{PASSWORD}}" | chpasswd
Modifier un utilisateur
bash
Variables
{{USER}}
# Changer le shellusermod -s /bin/zsh {{USER}}# Ajouter à un groupe supplémentaire (sans retirer des autres)usermod -aG sudo {{USER}}usermod -aG docker{{USER}} {{USER}}# Renommerusermod -l nouveau_nom ancien_nom# Verrouiller / déverrouiller le compteusermod -L {{USER}} # lockusermod -U {{USER}} # unlock# Changer le répertoire homeusermod -d /new/home -m {{USER}}
Supprimer un utilisateur
bash
Variables
{{USER}}
# Sans supprimer le homeuserdel {{USER}}# Avec suppression du home et du mailspooluserdel -r {{USER}}
Gestion des groupes
bash
Variables
{{GROUP}}
{{USER}}
# Créer un groupegroupadd {{GROUP}}# Lister les membres d'un groupegetent group {{GROUP}}# Retirer un utilisateur d'un groupegpasswd -d {{USER}} {{GROUP}}# Voir tous les groupes d'un utilisateurgroups {{USER}}id {{USER}}
Sudo
bash
Variables
{{USER}}
# Ajouter au groupe sudo (Debian/Ubuntu)usermod -aG sudo {{USER}}# Ajouter au groupe wheel (RHEL/CentOS)usermod -aG wheel {{USER}}# Editer sudoers (toujours via visudo !)visudo# Autoriser un user sans mot de passe{{USER}} ALLALL NOPASSWD ALL# Autoriser seulement certaines commandes{{USER}} ALLALL NOPASSWD /usr/bin/systemctl restart nginx /usr/bin/systemctl status nginx# Vérifier les droits sudo d'un utilisateursudo -l -U {{USER}}
Comptes système et service
bash
Variables
{{SERVICE}}
{{USER}}
# Créer un compte service (sans home, sans login)useradd -r -s /usr/sbin/nologin {{SERVICE}}# Vérifier les comptes sans mot de passeawk -F: '($2 == "") {print $1}' /etc/shadow# Comptes avec UID 0 (root-like)awk -F: '($3 == 0) {print $1}' /etc/passwd# Expiration de mot de passechage -l {{USER}} # voir la politiquechage -M 90 {{USER}} # expire dans 90 jourschage -E 2025-12-31 {{USER}} # expire à une date
Fichiers clés
bash
/etc/passwd # Liste des comptes (pas les mots de passe)/etc/shadow # Hash des mots de passe (lecture root seulement)/etc/group # Groupes et membres/etc/sudoers # Règles sudo (toujours éditer via visudo)/etc/sudoers.d/ # Fichiers de règles additionnels
💡 Tip —
Ne jamais éditer /etc/sudoers directement — toujours utiliser visudo qui valide la syntaxe avant de sauvegarder. Une erreur de syntaxe peut bloquer tous les accès sudo.
OPS·BRAIN v1.09 notes · SysAdminlocal