L'utilitaire su (switch user)

Pour quelque raison que ce soit, il peut parfois être utile de lancer une application, voire même une session complète, en tant qu'un autre utilisateur sans nécessairement se déconnecter de sa session graphique courante. Ceci peut être accompli à l'aide de quelques programmes inclus dans Ubuntu : voir Comment changer d'identité utilisateur. L'utilitaire su (pour "switch user" ou "substitute user")1) permet de lancer des commandes avec des identifiants d'utilisateurs et groupes différents.

Son usage est le suivant :

su [options] [-] [user [argument...]]

(où user est remplacé par le nom de l'utilisateur à qui prendre l'identité)

Il est recommandé d'utiliser l'option --login2)

Le mot de passe demandé est celui de l'utilisateur à prendre l'identité. Vous ne prendrez son identité que lorsque le mot de passe est valide. Vous pourrez alors exécuter, dans la console lancée, toutes les actions voulues, comme si vous étiez l'utilisateur auquel vous venez de prendre l'identité. Vous aurez son identité tout au long de cette session en console. Pour mettre fin à cette session, saisissez la commande :

exit

ou appuyer sur CTRL+D

su root

Sous Ubuntu, le compte système root est bloqué. Vous ne pourrez pas vous y connecter à l'aide de la commande su root (ou su seule). Pour effectuer des tâches administratives, utilisez plutôt sudo. Néanmoins, vous pouvez avoir accès à un terminal superutilisateur en utilisant sudo sans que vous activiez le compte root.

Option login

l'option s'utilise ainsi :

su --login [user [arguments...]]

Cette option :

  • Nettoie toutes les variables. Pour avoir un environnement propre.
  • Change de dossier vers le HOME de l'utilisateur substitué.
  • Réinitialise les variables PATH,HOME, USER, LOGNAME et SHELL.

Il est parfois nécessaire de changer de groupe. L'équivalent de la commande su pour les groupes est la commande newgrp : Son usage est :

newgrp [-] [groupe]

Comme cela :

newgrp nobody

1)
Souvent, à tort, les utilisateurs de GNU/Linux diront que la commande su signifie "super user". mais son usage est su [options] [-] [user [argument…]] qui permet de prendre l'identité de n'importe quel utilisateur. Ce n'est que si nous ne donnons pas de nom d’utilisateur que par défaut su est équivalent à su root.
2)
Il est recommandé de toujours utiliser l'option --login (au lieu du tiret seul) pour éviter les effets secondaires causés par le mélange des environnements.
  • su.txt
  • Dernière modification: Le 11/09/2022, 12:14
  • par moths-art