Comment changer d'utilisateur sous Ubuntu : su, sudo & élévation de privilèges
- 9 novembre 2025
- 22:15
- Par Adrien Roche
- Mis à jour 7 octobre 2026
- Tutoriels

Présentation
Gérer plusieurs comptes utilisateurs et passer de l'un à l'autre est un aspect fondamental de l'administration Linux. Ubuntu, la distribution Linux la plus populaire au monde, propose plusieurs méthodes pour changer d'utilisateur actif, chacune avec ses cas d'usage et implications de sécurité. Maîtriser ces mécanismes permet des workflows multi-utilisateurs efficaces, des opérations d'administration sécurisées et une bonne gestion des privilèges.
Ce guide complet passe en revue toutes les méthodes pour changer d'utilisateur sur Ubuntu, des approches ligne de commande de base aux techniques avancées d'élévation de privilèges. Que vous gériez des systèmes partagés, des tâches d'administration ou des environnements multi-tenant, maîtriser le changement d'utilisateur est essentiel pour bien utiliser Ubuntu.
Comprendre la gestion des utilisateurs Ubuntu
Types de comptes utilisateur
Utilisateurs réguliers : Comptes standards avec des privilèges limités, un accès aux fichiers restreint, et l'incapacité de modifier la configuration système.
Utilisateur root : Superutilisateur avec un accès sans restriction à toutes les ressources système, capable de toute opération y compris les dangereuses.
Utilisateurs système : Comptes spéciaux pour les services système (www-data pour les serveurs web, mysql pour les bases de données).
Utilisateurs sudo : Comptes réguliers avec des privilèges de superutilisateur délégués via la configuration sudo.
Élévation de privilèges
Pourquoi élever ses privilèges ? La plupart des tâches d'administration exigent des privilèges élevés. Au lieu d'une connexion en root (dangereuse), Ubuntu recourt à l'élévation de privilèges pour accorder temporairement des permissions élevées précises.
Principes : Exécuter les opérations avec le minimum de privilèges nécessaires ; minimiser le temps passé en accès élevé ; auditer toutes les opérations privilégiées.
Commande su (Switch User)
Syntaxe de base
su [OPTIONS] [USERNAME]
Passer à un autre utilisateursu john
Demande le mot de passe de l'utilisateur cible, puis bascule sur ce compte. L'environnement reste celui de l'utilisateur d'origine (non recommandé).Changer d'utilisateur avec un nouvel environnement
su - john
Le tiret (-) charge l'environnement complet de l'utilisateur cible, notamment :
-
Variable HOME pointant vers le répertoire home de l'utilisateur
-
Variable PATH avec les chemins de commande de l'utilisateur
-
Fichiers de configuration du shell (.bashrc, .profile)
-
Répertoire de travail changé pour le home de l'utilisateur
Bonne pratique : Utilisez toujours su - pour garantir une configuration correcte de l'environnement.
Passer en root
su -
Passe en utilisateur root avec l'environnement complet de root. Demande le mot de passe root.
Options de la commande su
-c (Commande) : Exécuter une seule commande en tant qu'autre utilisateur, sans ouvrir de session complète
su - john -c "ls -la /home/john"-l (Login) : Identique à l'utilisation du tiret ; crée un shell de login
su --login john
-s (Shell) : Spécifier le shell pour la session
su - john -s /bin/zsh
-m (Préserver l'environnement) : Conserver l'environnement actuel lors du changement d'utilisateur
su -m johnCommande sudo (Superuser Do)
Syntaxe de base
sudo [OPTIONS] COMMAND
Exécuter une commande avec privilèges élevés
sudo apt-get update # Update package lists (requires root)sudo systemctl restart ssh # Restart SSH servicesudo reboot # Reboot system
Lancer un shell root interactif
sudo -i
Lance un shell root interactif sans connexion en tant que root.
Lancer une commande en tant qu'autre utilisateur
sudo -u username commandExécute la commande avec les privilèges de l'utilisateur spécifié (pas seulement root).
Options de la commande sudo
-l (Lister) : Afficher les commandes autorisées
sudo -l
-k (Invalider) : Effacer les identifiants sudo (mot de passe redemandé à la prochaine utilisation)
sudo -k
-p (Invite) : Invite de mot de passe personnalisée
sudo -p "Enter admin password: " apt-get update-v (Valider) : Prolonger le délai d'expiration de sudosudo -v
-H (Home) : Définir HOME sur le répertoire home de l'utilisateur cible
sudo -H -u username commandsu – vs su : différences clés
| Fonctionnalité | su | su – |
|---|---|---|
| Environnement | Conserve l'environnement du shell parent | Charge l'environnement de l'utilisateur cible |
| Variable HOME | Reste sur le home de l'utilisateur original | Passe au home de l'utilisateur cible |
| Variable PATH | Peut inclure les chemins de l'utilisateur original | Contient les chemins standards de l'utilisateur cible |
| Config Shell | Ne charge pas .bashrc ni .profile | Charge ~/.bashrc et ~/.profile |
| Répertoire de travail | Reste dans le répertoire courant | Passe au home de l'utilisateur |
| Recommandé | Rarement ; risque de confusion | Toujours pour changer d'utilisateur |
| Niveau de risque | Plus élevé (environnements mixtes) | Plus faible (environnement propre) |
Différence d'exemple
# Avec su (BAD)
$ su johnPassword:
$ echo $HOME
/root # Still shows original home!
$ pwd
/path/to/original # Still in original directory# Avec su - (GOOD)
$ su - johnPassword:
$ echo $HOME
/home/john # Correct home directory$ pwd
/home/john # Correct directoryPasser en root
Avec su
su -
Password: (enter root password)
root@hostname:~#Avec sudo
sudo -i[sudo] password for john: (enter john's password)
root@hostname:~#Différences entre su – et sudo -i
| Critère | su – | sudo -i |
|---|---|---|
| Mot de passe requis | Mot de passe root | Mot de passe de l'utilisateur courant |
| Journalisation | Non journalisé | Enregistré par sudo |
| Piste d'audit | Réduite | Piste d'audit complète |
| Sécurité | Plus faible (nécessite le partage du mot de passe root) | Plus élevée (responsabilité individuelle) |
| Configuration d'entreprise typique | Déconseillé | Recommandé |
Note de sécurité : Les systèmes Ubuntu modernes n'exigent généralement pas de mot de passe root ; les utilisateurs sudo reçoivent plutôt leurs droits via la configuration de sudo.
Exécuter des commandes en tant qu'un autre utilisateur
Exécuter une commande unique
sudo -u apache /usr/bin/apache2ctl restartsu - testuser -c "python /home/testuser/script.py"
Exécuter plusieurs commandes
sudo bash -c "echo 'Line 1' > /tmp/file; cat /tmp/file"
Exécuter des commandes en préservant le répertoire courant
sudo -u john pwd # Prints john's home (working directory changed)sudo -u john -C pwd # Prints current directory (with -C flag)Changer le mot de passe utilisateur
Changer son propre mot de passe
passwdDemande le mot de passe actuel, puis le nouveau mot de passe (deux fois pour confirmation).
Changer le mot de passe d'un autre utilisateur (root requis)
sudo passwd john
Aucun mot de passe actuel requis ; demande le nouveau mot de passe (autorité root).
Définir la politique d'expiration
sudo chage -l john # View password aging infosudo chage -M 90 john # Force password change every 90 dayssudo chage -d 0 john # Force password change on next login
Permissions et groupes utilisateur
Voir les groupes d'utilisateurs
groups john # Show groups current user belongs togroups # Show own groupsid john # Detailed UID, GID, groupsAjouter un utilisateur à un groupe
sudo usermod -aG groupname username
Exemple : Ajouter un utilisateur au groupe sudo
sudo usermod -aG sudo john
Retirer un utilisateur d'un groupe
sudo deluser username groupname
Créer un nouvel utilisateur
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
Options :
-
-m: Créer le répertoire home -
-s: Spécifier le shell -
-G: Affecter à des groupes
Exemples pratiques
Exemple 1 : Tâche d'administration avec élévation de privilèges
#!/bin/bash
# Install software update as regular user with privilege escalation
sudo apt-get updatesudo apt-get upgrade -y
echo "System update complete"
Exemple 2 : Exécuter des tâches de serveur web
# Stop web server as specific service user
sudo -u www-data /opt/webapp/stop.sh# Check web server permissions as www-data
sudo -u www-data ls -la /var/www/htmlExemple 3 : Effectuer la maintenance de base de données
# Backup database as specific user
sudo -u mysql mysqldump -u root -p database_name > backup.sql
# Run database optimization
sudo -u mysql mysql -u root -p -e "OPTIMIZE TABLE table_name;"
Exemple 4 : Gestion d'utilisateurs en lot
#!/bin/bash# Create multiple usersfor user in user1 user2 user3; dosudo useradd -m -s /bin/bash "$user"echo "Please set password for $user:"sudo passwd "$user"done# Add all to sudo groupfor user in user1 user2 user3; dosudo usermod -aG sudo "$user"doneConsidérations de sécurité
Sécurité des mots de passe
Mot de passe root : Gardez-le sécurisé ; ne le partagez jamais avec des personnes non fiables
Configuration sudo : Déléguez des privilèges spécifiques plutôt qu'un accès root complet
Vieillissement des mots de passe : Imposez des changements périodiques de mot de passe
# Configure password agingsudo chage -M 90 -m 1 -W 7 username
# Forces change every 90 days, minimum 1 day between changes, 7-day warningAudit et journalisation
Toutes les commandes sudo sont journalisées :
sudo grep COMMAND /var/log/auth.log
Afficher l'historique détaillé de sudo :
sudo journalctl _COMM=sudoRestreindre l'élévation de privilèges
Configurer le fichier sudoers en toute sécurité :
sudo visudo # Always use visudo for editing sudoers
Exemple de configuration sudoers (pour limiter ce que john peut exécuter) :
john ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginxjohn ALL=(ALL) /usr/bin/apt-getDélai d'expiration de session
# Set sudo timeoutsudo -v # Extend timeoutsudo -k # Invalidate sudo credentialsPourquoi l'infrastructure distante utilise le changement d'utilisateur
L'infrastructure RDP et SSH nécessite fréquemment :
-
Plusieurs utilisateurs administratifs avec différents niveaux de privilèges
-
Comptes de service pour les processus automatisés
-
Pistes d'audit pour la conformité (journalisation sudo)
-
Élévation de privilèges pour les tâches administratives
Gestion d'infrastructure via RDP.Monster
Administrer des systèmes Ubuntu à distance exige un accès robuste et sécurisé :
Accès SSH pour l'exécution de commandes
-
Exécuter à distance les commandes de changement d'utilisateur
-
Administration automatisée via des scripts
-
Contrôle total sur la gestion des utilisateurs
Prise en charge de plusieurs comptes utilisateurs
-
Créer des utilisateurs administratifs
-
Déléguer les privilèges de manière appropriée
-
Maintenir les pistes d'audit
Administration distante sécurisée
-
Chiffrement SSH pour toutes les opérations de changement d'utilisateur
-
Authentification par clé pour l'accès programmatique
-
Journalisation et surveillance complètes
Pour conclure
Le changement d'utilisateur et l'élévation de privilèges sont des compétences fondamentales d'administration Ubuntu. Comprendre les différences entre su, sudo et la gestion des mots de passe permet une administration efficace de systèmes multi-utilisateurs tout en maintenant la sécurité grâce à une délégation appropriée des privilèges et à des pistes d'audit.
Les meilleures pratiques modernes d'Ubuntu privilégient fortement sudo plutôt que su pour l'élévation de privilèges, permettant la responsabilisation et la journalisation complète tout en minimisant le partage du mot de passe root. Une configuration appropriée du fichier sudoers déléguant des privilèges spécifiques offre un excellent équilibre de sécurité entre utilisabilité et contrôle d'accès.
Vous gérez une infrastructure Ubuntu complexe qui exige une gestion avancée des utilisateurs et un accès d'administration sécurisé ? RDP.Monster propose des solutions VPS Ubuntu accessibles en SSH, qui permettent une gestion fluide des utilisateurs et de l'élévation de privilèges sur l'ensemble de votre infrastructure. Déployez dès aujourd'hui des systèmes Ubuntu gérés de façon professionnelle.
Hébergement VPS Ubuntu performant
Bénéficiez d'un contrôle total et de performances fulgurantes avec nos VPS Linux. Parfait pour héberger des applications, gérer des serveurs et optimiser votre workflow.
Vous ne savez pas quelle distribution ou quelle version vous utilisez ? Vérifiez d'abord la version de l'OS en ligne de commande.
Serveurs dédiés haute performance
Besoin d'un contrôle et d'une puissance maximum ? Nos serveurs dédiés offrent des performances inégalées pour les tâches exigeantes.
Foire aux questions
Faut-il utiliser su ou sudo ?
Il garantit la traçabilité, exige des mots de passe individuels et fournit des pistes d'audit complètes.
Pourquoi ma commande su ne fonctionne-t-elle pas ?
Essayez plutôt sudo -u username si vous disposez des privilèges sudo.
Puis-je changer d'utilisateur sans mot de passe ?
Avec su, le mot de passe de l'utilisateur cible est toujours requis.
Quelle est la différence entre su - et su --login ?
Combien de temps dure le privilège sudo ?
Puis-je exécuter plusieurs commandes en tant qu'un autre utilisateur ?
Comment voir mes permissions sudo ?
Pourquoi mon PATH change-t-il quand je change d'utilisateur ?
Adrien Roche, Rédacteur infrastructure & hébergement
Ingénieur systèmes avec plus de 10 ans d'exploitation de parcs Windows Server et Linux. Adrien gère la documentation infrastructure de rdp.monster et rédige nos guides sur le RDP, l'hébergement VPS, l'administration serveur, le réseau et les outils de confidentialité.
Articles connexes




