Gérer les utilisateurs et groupes Linux
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 :
sudo adduser alice
sudo adduser alice sudoadduser 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 :
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
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 :
sudo visudo -f /etc/sudoers.d/aliceExemple minimal :
alice ALL=(ALL) ALLvisudo 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 :
sudo useradd --system --home /srv/mon-app --shell /usr/sbin/nologin app
sudo chown -R app:app /srv/mon-appPuis, 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 :
awk -F: '($3==0){print $1}' /etc/passwd
getent passwd
last -n 20
lastlog
sudo passwd -S alice
sudo chage -l aliceSeul 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
id alice
sudo -l -U alice
sudo getent group sudoid 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
- Comprendre les permissions LinuxLire rwx, utiliser chmod et chown correctement, comprendre umask et pourquoi 777 est une mauvaise réponse.
- Installer Nginx sur DebianInstaller Nginx, vérifier le service, tester en local, ouvrir le pare-feu et contrôler les journaux.
- Désactiver les services inutilesInventorier ce qui tourne, désactiver sans casser SSH ni le réseau et vérifier après redémarrage.