Ce guide suit les pages de manuel de Debian 13 pour adduser (version 3.152), usermod et userdel, relues le 15 octobre 2026. Les mêmes commandes valent pour Ubuntu 26.04.
Pourquoi un compte par personne
Un compte partagé ne dit pas qui a fait quoi, et il oblige à changer la clé de tout le monde le jour où une personne s'en va. Un compte par personne, chacun avec sa clé, permet de retirer un accès sans toucher aux autres, et les journaux du serveur nomment le compte qui s'est connecté. Il en va de même pour un outil : un déploiement reçoit son propre compte ou sa propre clé, et un outil de tableaux de bord comme Metabase lit vos bases avec un utilisateur réservé, en lecture seule.
Créer le compte
- Connectez-vous au serveur avec un compte qui a
sudo. - Créez l'utilisateur, ici
marie:sudo adduser marie - Répondez aux questions. adduser demande un mot de passe, puis des informations facultatives que vous pouvez laisser vides.
D'après sa page de manuel, adduser crée un dossier personnel dans /home, y copie les fichiers de /etc/skel, et crée un groupe du même nom que l'utilisateur.
Si la personne ne se connecte que par clé et n'a pas besoin de sudo, l'option --disabled-password crée le compte sans mot de passe : sudo adduser --disabled-password marie. La page de manuel précise que la connexion par clé SSH reste possible.
Ouvrir SSH avec sa propre clé
La personne crée sa paire de clés sur son ordinateur et vous transmet sa clé publique, le fichier qui finit par .pub. La clé privée ne quitte jamais son ordinateur : ne la demandez pas, ne la recevez pas.
- Créez son dossier SSH avec les bons droits :
sudo install -d -m 700 -o marie -g marie /home/marie/.ssh - Créez le fichier des clés autorisées, puis collez-y la clé publique, sur une seule ligne :
sudo nano /home/marie/.ssh/authorized_keys - Rendez le fichier à son propriétaire et protégez-le :
sudo chown marie:marie /home/marie/.ssh/authorized_keyspuissudo chmod 600 /home/marie/.ssh/authorized_keys - Demandez à la personne de se connecter :
ssh marie@adresse-du-serveur
Si SSH refuse la clé, les droits sont la cause la plus fréquente : le dossier .ssh doit être à 700 et le fichier à 600, et les deux doivent appartenir à l'utilisateur. Le détail de l'ajout d'une clé est dans Ajouter une clé SSH sur un serveur Linux.
Donner sudo, ou non
Un membre du groupe sudo peut lancer toute commande en administrateur, donc tout faire sur le serveur. Ne l'accordez qu'aux personnes qui administrent vraiment.
- Ajoutez l'utilisateur au groupe, sans le retirer des autres :
sudo usermod -aG sudo marie - Vérifiez :
groups marie - La personne se déconnecte puis se reconnecte pour que le changement s'applique.
L'option -a compte : d'après la page de manuel d'usermod, -G seul retire l'utilisateur de tous les groupes qui ne sont pas listés.
sudo demande le mot de passe de l'utilisateur. Un compte créé avec --disabled-password ne peut donc pas l'utiliser tant qu'il n'a pas de mot de passe : donnez-en un avec sudo passwd marie. Ce mot de passe sert à sudo, pas à la connexion, si SSH n'accepte que les clés.
L'accès à Docker
Le groupe docker permet d'utiliser Docker sans sudo. La documentation de Docker, relue le 15 octobre 2026, prévient que ce groupe donne des privilèges équivalents à ceux de root : un membre peut lancer un conteneur qui monte tout le disque du serveur. Traitez-le comme sudo.
Pour l'accorder : sudo usermod -aG docker marie, puis une nouvelle connexion de la personne.
Bloquer ou supprimer un compte
Quand une personne s'en va, retirez d'abord son accès, puis son compte.
- Retirez sa clé : supprimez sa ligne dans
/home/marie/.ssh/authorized_keys, ou videz le fichier. - Verrouillez le compte :
sudo usermod -L -e 1 marie. D'après la page de manuel d'usermod,-Lseul ne verrouille que le mot de passe et n'empêche pas une connexion par clé ; la date d'expiration-e 1bloque le compte entier. - Quand vous n'avez plus besoin de ses fichiers, supprimez le compte et son dossier personnel :
sudo userdel -r marie
Avant l'étape 3, copiez ce qui doit être gardé : l'option -r efface le dossier personnel et son contenu.
Sur un VPS Hubspace
Le serveur est livré avec le compte admin, qui a sudo sans mot de passe et l'accès à Docker, et qui se connecte par la clé donnée à la commande. Le compte root est réservé à notre équipe pour dépanner : créez vos comptes supplémentaires à partir d'admin. SSH n'accepte que les clés, aucun mot de passe : chaque nouvel utilisateur se connecte donc avec sa propre clé, comme décrit plus haut. Pour la première connexion, voir Se connecter en SSH à un VPS ; pour réduire le bruit des robots dans les journaux, voir Changer le port SSH. Les serveurs VPS décrivent ce qui est livré.
Questions fréquentes
Quelle différence entre adduser et useradd ?
useradd est la commande de bas niveau : sans options, elle ne crée pas toujours le dossier personnel et ne demande rien. adduser, sur Debian et Ubuntu, s'appuie dessus et fait les étapes courantes à votre place. Pour un compte de personne, adduser est le plus simple.
Comment lister les utilisateurs du serveur ?
getent passwd affiche tous les comptes, y compris ceux des services. Les comptes de personnes ont en général un dossier dans /home.
Un utilisateur peut-il voir les fichiers des autres ?
Cela dépend des droits des dossiers personnels. Vérifiez-les avec ls -ld /home/* et restreignez au besoin un dossier avec sudo chmod 750 /home/marie. Un membre de sudo ou de docker peut de toute façon tout lire.
Articles liés
- Commandes Linux : les essentielles à connaîtreLes commandes Linux à connaître pour gérer un serveur : fichiers et dossiers, recherche, espace disque, services, journaux et droits, avec leurs options utiles.
- Mettre à jour Ubuntu ou Debian sur un serveurMettre à jour Ubuntu ou Debian : apt update et apt upgrade, mises à jour automatiques de sécurité, redémarrage nécessaire et passage à une nouvelle version.
- Crontab : planifier une tâche avec cronCrontab sous Linux : écrire une ligne cron, comprendre ses cinq champs, planifier un script, garder une trace de son exécution et éviter les pièges.