Skip to main content

4.4 — Gérer les utilisateurs et les groupes

La gestion des comptes varie légèrement selon la distribution. Les commandes ci-dessous couvrent les systèmes Linux courants.

Consulter les comptes

id alex
getent passwd alex
getent group informatique
cut -d: -f1 /etc/passwd

getent est préférable à la lecture directe des fichiers lorsque les comptes peuvent provenir de LDAP, Active Directory ou d'un autre annuaire.

Créer un utilisateur

Sur Debian et Ubuntu, adduser guide la création :

sudo adduser alex

Commande plus générique :

sudo useradd -m -s /bin/bash alex
sudo passwd alex

Gérer les groupes

sudo groupadd informatique
sudo usermod -aG informatique alex
id alex

L'option -aG signifie ajouter aux groupes supplémentaires. Oublier -a avec usermod -G peut retirer l'utilisateur de ses autres groupes secondaires.

La nouvelle appartenance s'applique à la prochaine ouverture de session. Pour un test ponctuel :

newgrp informatique

Verrouiller ou déverrouiller un compte

sudo passwd -l alex
sudo passwd -u alex
sudo chage -l alex

Verrouiller le mot de passe ne termine pas forcément les sessions existantes et n'interdit pas toujours les autres méthodes d'authentification, comme une clé SSH. La procédure de départ d'un utilisateur doit donc inclure sessions, clés, jetons et tâches planifiées.

Modifier un shell

chsh -s /bin/bash
getent passwd "$USER"
cat /etc/shells

Supprimer un compte

Examiner d'abord les fichiers appartenant au compte :

sudo find /home /srv -xdev -user alex -print

Puis, selon la distribution :

sudo userdel alex          # conserver le dossier personnel
sudo userdel -r alex       # supprimer aussi le dossier personnel

userdel -r est destructif. Sauvegarder ou transférer les données avant de l'utiliser.

Fichiers importants

Fichier Rôle
/etc/passwd comptes et shells, sans mots de passe en clair
/etc/shadow empreintes des mots de passe et expiration
/etc/group groupes locaux
/etc/sudoers règles sudo, à modifier avec visudo

Ne jamais éditer /etc/shadow manuellement. Utiliser les commandes prévues afin de préserver la cohérence et les permissions.