125 votes

Quelle est la différence entre "su" avec et sans trait d'union ?

Je suis assez nouveau dans le terminal Linux et je ne suis pas sûr de la différence entre su avec un trait d'union et su sans trait d'union est, par exemple : su - username vs. su username .

J'ai regardé dans la documentation mais là-dedans, cela n'a pas été mentionné. Quelqu'un pourrait-il m'aider ?

116voto

paulsm4 Points 1766

La différence entre "-" et "pas de trait d'union" est que cette dernière option garde votre environnement existant (variables, etc.) ; le premier crée un nouvel environnement (avec les paramètres de l'utilisateur actuel, pas les vôtres).

https://wiki.archlinux.org/index.php/Su

Le trait d'union a deux effets :

1) passe du répertoire courant au répertoire d'origine du nouvel utilisateur (par exemple, vers /root dans le cas de l'utilisateur root) en se connectant en tant que cet utilisateur

2) modifie les variables environnementales en celles du nouvel utilisateur en tant que tel que dicté par leur ~/.bashrc. C'est-à-dire que si le premier argument de su est un tiret, le répertoire et l'environnement actuels seront changés en ce qui ce à quoi on pourrait s'attendre si le nouvel utilisateur s'était effectivement connecté sur un nouveau session (plutôt que de simplement reprendre une session existante).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X