15%

Economisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur n'importe quel plan d'hébergement

Utilisez le code :

Skills
Commencer
02.01.2026

Comment changer d’utilisateur dans Linux ?

Dans Linux, l’expression « changer d’utilisateur » peut décrire plusieurs actions différentes—certaines temporaires et basées sur la session, d’autres permanentes et à l’échelle du système. Étant donné que Linux est un système d’exploitation multi-utilisateur par conception, il offre plusieurs façons de changer d’identité et de permissions en fonction de ce que vous essayez d’accomplir : administrer un serveur, exécuter une application avec des droits limités, résoudre des problèmes d’accès aux fichiers ou restructurer des comptes utilisateurs.

Changer « d’utilisateur » dans Linux peut signifier plusieurs choses différentes selon le contexte :

    • Changer de compte dans le shell (par exemple, de john à root)
      Ceci est utilisé lorsque vous avez besoin d’une session terminal interactive en tant qu’autre utilisateur—souvent pour l’administration système ou pour tester comment quelque chose se comporte dans un environnement de compte différent.
    • Exécuter une seule commande en tant qu’autre utilisateur
      Idéal lorsque vous avez seulement besoin de privilèges élevés ou d’une identité différente pour une tâche (comme redémarrer un service ou exécuter une commande de base de données) sans changer complètement votre session.
  • Changer l’utilisateur de connexion par défaut pour un service/processus
    Les services (serveurs web, bases de données, applications) doivent généralement s’exécuter sous des utilisateurs dédiés, non-root, pour des raisons de sécurité. Changer l’utilisateur du service affecte la façon dont le processus s’exécute et ce qu’il peut accéder.
  • Changer qui possède des fichiers et des répertoires
    La propriété des fichiers contrôle l’accès. Si les permissions sont incorrectes—ce qui est courant après des migrations, des restaurations ou des déploiements—vous « changez d’utilisateur » en réassignant la propriété afin que le compte correct puisse lire/écrire des fichiers.
  • Changer les attributs d’identité de l’utilisateur (nom d’utilisateur, UID, groupes)
    C’est la gestion des comptes : renommer un utilisateur, changer son UID ou ajuster l’appartenance à des groupes (comme accorder l’accès sudo). Ces changements peuvent avoir un impact sur les connexions, les permissions et l’accès aux services.

Ce guide couvre tous ces scénarios, montrant quand utiliser chaque approche, comment le faire en toute sécurité et quelles erreurs éviter—pour que vous puissiez changer d’utilisateurs en toute confiance sans casser les permissions, les services ou l’accès.

Changer pour un autre utilisateur (shell interactif)

su (changer d’utilisateur)

su - username
  • – (ou -l) charge l’environnement de connexion complet de l’utilisateur cible : répertoire personnel, PATH, profil de shell.

  • Sans -, vous conservez une grande partie de votre environnement actuel (peut être déroutant).

Changer pour root :

su -

Note de sécurité : Sur de nombreuses distributions, su nécessite le mot de passe de l’utilisateur cible (par exemple, le mot de passe root), qui est souvent désactivé.

sudo -i (préféré pour les shells root/admin)

sudo -i

Vous donne un shell de connexion root (similaire à su -), en utilisant vos droits sudo au lieu du mot de passe root.

Changer pour un autre utilisateur avec un shell de connexion :

sudo -iu username

Exécuter une seule commande en tant qu’autre utilisateur (non interactif)

sudo -u

sudo -u username whoami
sudo -u postgres psql

Exécuter avec un environnement de type connexion propre :

sudo -iu username

Exécuter une commande en tant que root

sudo systemctl restart nginx

Changer l’« utilisateur effectif » d’un processus en cours d’exécution (réalité avancée)

Linux ne vous laisse pas « changer l’utilisateur » d’un processus déjà en cours d’exécution sur place dans la plupart des scénarios pratiques. Au lieu de cela, vous devez généralement :

  • redémarrer le processus sous le bon utilisateur

  • ou utiliser des gestionnaires de services (systemd) pour définir l’utilisateur

Pour inspecter quel utilisateur exécute un processus :

ps -eo user,pid,cmd | grep nginx

Ou :

ps -p <PID> -o user,group,cmd

Changer quel utilisateur un service exécute (systemd)

La plupart des Linux de production utilisent systemd. Les services doivent s’exécuter sous des utilisateurs dédiés et non privilégiés.

Vérifiez la configuration du service :

systemctl cat myservice.service

Recherchez :

  • User=

  • Group=

Exemple de remplacement (méthode sûre) :

sudo systemctl edit myservice.service

Ajouter :

[Service]
User=myuser
Group=mygroup

Appliquer :

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Vérifier :

systemctl status myservice.service
ps -eo user,pid,cmd | grep myservice

Changer la propriété des fichiers (changer « d’utilisateur » pour les fichiers)

chown (changement de propriétaire)

Changer de propriétaire :

sudo chown username file.txt

Changer de propriétaire et de groupe :

sudo chown username:groupname file.txt

Récursif (soyez prudent) :

sudo chown -R username:groupname /var/www/site

Préserver les liens symboliques (éviter de changer les cibles des liens) :

sudo chown -h username:group symlink

Conseil avancé : Pour de grands arbres, prévisualisez d’abord :

find /path -maxdepth 2 -printf '%u:%g %pn' | head

Changer votre identité de shell actuelle vs. changer le compte lui-même

Confirmer qui vous êtes

whoami
id

Confirmer qui est connecté

who
w

Voir quel utilisateur a exécuté le shell actuel via sudo

echo $USER
echo $SUDO_USER

Changer le nom d’utilisateur, l’UID, les groupes (modification de compte)

Renommer un utilisateur (nom d’utilisateur)

sudo usermod -l newname oldname

Déplacer/renommer également le répertoire personnel :

sudo usermod -d /home/newname -m newname

Mettre à jour le nom du groupe aussi (optionnel) :

sudo groupmod -n newname oldname

Changer l’UID (avancé ; affecte la propriété des fichiers)

sudo usermod -u 2001 username

Après avoir changé l’UID, corrigez la propriété des fichiers :

sudo find / -user oldUID -exec chown -h username {} ;

Ajouter un utilisateur à un groupe (par exemple, sudo)

sudo usermod -aG sudo username # Debian/Ubuntu
sudo usermod -aG wheel username # RHEL/Alma/Rocky

Vérifier :

id username

« Fiche de triche » rapide

Changer d’utilisateur :

su - user
sudo -iu user

Exécuter une commande en tant qu’autre utilisateur :

sudo -u user command

Exécuter un shell root :

sudo -i

Changer le propriétaire du fichier :

sudo chown -R user:group /path

Changer les détails du compte :

sudo usermod -l new old
sudo usermod -d /home/new -m new
sudo usermod -aG
sudo user
15%

Economisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur n'importe quel plan d'hébergement

Utilisez le code :

Skills
Commencer