Utilisateurs et sudo au lieu de root
Comment créer un utilisateur de travail, lui donner sudo, transférer les clés SSH, et cesser de se connecter au serveur en tant que root.
Mis à jour le 23 août 2026
La machine est livrée avec un accès root complet, et votre premier réflexe est de continuer à travailler en root. C'est pratique jusqu'à la première faute de frappe dans rm -rf. La configuration qui fonctionne est différente : un utilisateur ordinaire pour les tâches quotidiennes, root via sudo et uniquement lorsque vous en avez réellement besoin.
Créer un utilisateur
Debian et Ubuntu :
adduser artem
usermod -aG sudo artem
AlmaLinux et CentOS Stream :
adduser artem
passwd artem
usermod -aG wheel artem
Le groupe diffère : sudo sur la famille Debian, wheel sur la famille RHEL. Vérifiez les droits :
sudo -l -U artem
Déplacer les clés SSH
Les clés ajoutées dans l'onglet « Accès » du panneau /hosting/vds/m/<id> arrivent chez l'utilisateur root. Vous devez les placer vous-même pour le nouvel utilisateur :
mkdir -p /home/artem/.ssh
cp /root/.ssh/authorized_keys /home/artem/.ssh/
chown -R artem:artem /home/artem/.ssh
chmod 700 /home/artem/.ssh
chmod 600 /home/artem/.ssh/authorized_keys
Les permissions ici ne sont pas une formalité : si elles sont trop permissives, sshd refusera silencieusement d'accepter la clé.
Vérifiez que vous pouvez vous connecter en tant que nouvel utilisateur dans une fenêtre de terminal séparée sans fermer la fenêtre actuelle :
ssh artem@<address>
sudo whoami
Ce n'est qu'après une vérification réussie que vous devez passer à la désactivation de la connexion root.
Comment utiliser sudo
sudo systemctl restart nginx
sudo -i
sudo -u www-data ls /var/www
sudo -i vous donne un shell root complet — pour une série de commandes, pas pour un travail permanent. Chaque appel à sudo est écrit dans le journal, et c'est votre piste lors de l'investigation d'un incident :
journalctl -t sudo -n 50
grep sudo /var/log/auth.log
Plus d'informations sur les journaux — qui s'est connecté à la machine.
Droits pour les services
Une autre erreur courante consiste à exécuter une application en root « pour que ça fonctionne ». Pour chaque service, créez un utilisateur système sans shell :
useradd --system --no-create-home --shell /usr/sbin/nologin appsrv
chown -R appsrv:appsrv /opt/app
Ainsi, une faille dans l'application ne livre pas immédiatement toute la machine à l'attaquant.
Erreurs courantes
| Erreur | Cause | Solution |
|---|---|---|
artem is not in the sudoers file | Pas dans le groupe ou ne s'est pas reconnecté | usermod -aG sudo artem, reconnectez-vous |
| La clé n'est pas acceptée | Les permissions sur .ssh sont plus larges que 700 ou le propriétaire est root | chown et chmod comme ci-dessus |
| Le mot de passe sudo ne fonctionne pas | L'utilisateur n'a pas de mot de passe défini | passwd artem |
| L'édition de sudoers a cassé sudo | Une erreur de syntaxe dans le fichier | Uniquement visudo ; réparation via le mode de secours |
Modifiez
/etc/sudoersexclusivement avec la commandevisudo— elle vérifie la syntaxe avant d'enregistrer. Un fichier cassé retire sudo à tout le monde d'un coup.