Gérer les utilisateurs et groupes Linux

2 min de lecture07 novembre 2026

Un serveur partagé entre plusieurs personnes ou plusieurs applications ne doit pas reposer sur un seul compte root. Un utilisateur par personne permet de tracer les actions et de révoquer un accès sans changer le mot de passe de tous. Les groupes organisent les droits, et les comptes de service exécutent les démons sans shell interactif.

Créer et supprimer un compte

Sur Debian 13, adduser est la commande conviviale :

Bash
sudo adduser alice
sudo adduser alice sudo

adduser alice crée le home, demande un mot de passe et configure le compte. La seconde commande l'ajoute au groupe sudo, ce qui autorise l'élévation de privilèges. Le groupe administratif est sudo. Vérifiez avec id alice et groups alice.

Suppression :

Bash
sudo deluser --remove-home alice
sudo userdel -r alice

--remove-home et -r suppriment le home et le courrier. Sans eux, les fichiers restent et un futur compte avec le même UID pourrait y accéder.

Groupes et sudo

Bash
sudo groupadd projets
sudo usermod -aG projets alice
getent group projets
sudo -l -U alice

-aG est indispensable : usermod -G sans -a remplace tous les groupes secondaires. L'appartenance prend effet à la prochaine connexion ; newgrp projets ouvre un shell avec le nouveau groupe pour tester immédiatement.

Pour sudo, n'éditez pas /etc/sudoers directement :

Bash
sudo visudo -f /etc/sudoers.d/alice

Exemple minimal :

Texte
alice ALL=(ALL) ALL

visudo valide la syntaxe avant d'enregistrer, ce qui évite de casser sudo. Réservez NOPASSWD à des automatisations précises, jamais à un compte humain.

Comptes de service et audit

Les démons doivent tourner avec un compte non privilégié, sans shell :

Bash
sudo useradd --system --home /srv/mon-app --shell /usr/sbin/nologin app
sudo chown -R app:app /srv/mon-app

Puis, dans l'unité systemd : User=app et Group=app. Un compte --system n'a pas de mot de passe utilisable et n'apparaît pas dans la liste des connexions normales.

Audit régulier :

Bash
awk -F: '($3==0){print $1}' /etc/passwd
getent passwd
last -n 20
lastlog
sudo passwd -S alice
sudo chage -l alice

Seul root doit avoir l'UID 0. passwd -S indique si un compte est verrouillé (L) ou actif (P), et chage -l montre l'expiration du mot de passe. Retirez les comptes inutilisés et les clés ajoutées dans ~/.ssh/authorized_keys que vous ne reconnaissez pas.

Vérifier

Bash
id alice
sudo -l -U alice
sudo getent group sudo

id doit montrer les groupes attendus, sudo -l les commandes autorisées. Testez une connexion réelle avec le nouveau compte avant de fermer votre session root. Si un service ne démarre plus après un changement de propriétaire, vérifiez User= dans son unité et les permissions de son répertoire de travail.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi