RDP Monster

Comment changer d'utilisateur sous Ubuntu : su, sudo & élévation de privilèges

Comment changer d'utilisateur sous Ubuntu : su, sudo & élévation de privilèges

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 utilisateur
su 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 john

Commande 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 service
sudo 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 command

Exé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 sudo
sudo -v

 

-H (Home) : Définir HOME sur le répertoire home de l'utilisateur cible

sudo -H -u username command

su – 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 john
Password:
$ echo $HOME
/root # Still shows original home!
$ pwd
/path/to/original # Still in original directory
# Avec su - (GOOD)
$ su - john
Password:
$ echo $HOME
/home/john # Correct home directory
$ pwd
/home/john # Correct directory

Passer 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 restart
su - 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

passwd

Demande 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 info
sudo chage -M 90 john # Force password change every 90 days
sudo 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 to
groups # Show own groups
id john # Detailed UID, GID, groups

Ajouter 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 update
sudo 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/html

Exemple 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 users
for user in user1 user2 user3; do
sudo useradd -m -s /bin/bash "$user"
echo "Please set password for $user:"
sudo passwd "$user"
done
# Add all to sudo group
for user in user1 user2 user3; do
sudo usermod -aG sudo "$user"
done

Considé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 aging
sudo chage -M 90 -m 1 -W 7 username
# Forces change every 90 days, minimum 1 day between changes, 7-day warning

Audit 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=sudo

Restreindre 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 nginx
john ALL=(ALL) /usr/bin/apt-get

Délai d'expiration de session

# Set sudo timeout
sudo -v # Extend timeout
sudo -k # Invalidate sudo credentials

Pourquoi 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

Déployez une infrastructure Ubuntu VPS avec des capacités de gestion sécurisée des utilisateurs via RDP.Monster

 

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

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 ?

sudo est préféré sur les systèmes modernes.

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 ?

Vous ne connaissez peut-être pas le mot de passe de l'utilisateur cible.

Essayez plutôt sudo -u username si vous disposez des privilèges sudo.

Puis-je changer d'utilisateur sans mot de passe ?

Oui, avec sudo : configurez sudoers avec NOPASSWD.

Avec su, le mot de passe de l'utilisateur cible est toujours requis.

Quelle est la différence entre su - et su --login ?

Elles sont identiques : toutes deux créent un shell de login avec chargement complet de l'environnement.

Combien de temps dure le privilège sudo ?

Par défaut, 15 minutes. Personnalisable dans la configuration sudoers.

Puis-je exécuter plusieurs commandes en tant qu'un autre utilisateur ?

Oui : sudo bash -c "commande1 && commande2 && commande3"

Comment voir mes permissions sudo ?

Exécutez sudo -l pour afficher les commandes autorisées.

Pourquoi mon PATH change-t-il quand je change d'utilisateur ?

Utilisez su - pour charger l'environnement complet de l'utilisateur cible, y compris le bon PATH.

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é.

Inscrivez-vous à notre programme revendeur

Vos informations

Si vous avez une question, contactez-nous en cliquant ici !
Nom(Obligatoire)
Indiquez votre adresse e-mail, vous devez avoir un compte sur manager.rdp.monster !

Votre entreprise

Indiquez l'adresse de votre site web si vous en avez un
Expliquez brièvement comment vous comptez vendre les services à vos clients. Par exemple, en discutant avec des gens sur des forums.

Même les monstres aiment les cookies !

Nous utilisons des cookies pour améliorer votre expérience de navigation, proposer des publicités ou contenus personnalisés et analyser notre trafic. En cliquant sur « Accepter », vous consentez à notre utilisation des cookies.