La commande "su" (Switch User, appelée plus communément (à tort semble-t-il) "Super Utilisateur" ) permet d'ouvrir une session avec l'ID (IDentifiant) d'un autre utilisateur, ou de démarrer un nouveau shell de connexion.
Se connecter sous un autre ID utilisateur avec "su"
su toto
Après avoir entré votre mot de passe, vous êtes connecté en tant qu'utilisateur "toto", vous êtes toujours dans le même répertoire de travail que précédemment et vous bénéficiez des réglages par défaut de l'utilisateur précédent (shell de connexion, variables d'environnement, permissions diverses...)
Démarrer un nouveau shell de connexion avec "su -"
su - toto
La présence du tiret "-" force le démarrage d'un nouveau shell de connexion, avec ajustement des variables d'environnement et de tous les réglages par défaut selon les préférences de l'utilisateur.
C'est pour ces raisons évidentes qu'il est conseillé lorsque vous vous connectez en tant que super utilisateur "root", d'utiliser la commande :
su -
plutôt que :
su
.
Revenir au shell précédent
Taper la commande "exit" ou la combinaison de touches "Ctrl-d" pour fermer le shell courant et revenir au précédent.
Observation : si la ligne de commande n'est pas vide Ctrl-d efface le caractère courant
Suspendre le shell du compte root
Grâce à la commande suspend on peut suspendre le shell root et le placer en arrière-plan.
La commande fg permet de le reprendre.
ccm@debian:~$ su Password: debian:/home/ccm# suspend
[1]+ Stopped su ccm@debian:~$ fg su debian:/home/ccm#
Notes
-Si vous tapez la commande "exit" ou "Ctrl-d" à partir du shell de connexion original (initial), vous vous trouvez déconnecté du système (Unix - GNU/Linux).
-Si vous étiez connecté (dans un shell) en tant que root et que vous tapez la commande "su user", le système n'exigera pas de mot de passe.