Question très bête - Divers - Linux et OS Alternatifs
Marsh Posté le 01-02-2003 à 16:28:38
extrait du man su :
-, -l, --login
Appelle le shell sous forme de shell de connexion. Voici ce que
cela signifie : Invalider toutes les variables d'environnement
sauf `TERM', `HOME', et `SHELL' (qui sont renseignees comme
decrit ci-dessus), ainsi que `USER' et `LOGNAME' (qui sont alors
remplies meme pour le Super-Utilisateur). Remplir `PATH' avec
une valeur par defaut donnee lors de la compilation. Se
deplacer dans le repertoire HOME de l'utilisateur. Ajouter "-"
au nom du shell, pour que celui-ci lise son ou ses fichiers de
demarrage.
Marsh Posté le 01-02-2003 à 16:32:28
Code :
|
Hummm j'ai peur de pas tout comprendre
Si on met le "-", il charge le .bashrc du compte root sinon non ?
Marsh Posté le 01-02-2003 à 16:36:47
en faisant su -, tu obtiens un shell de login.
Extrait du man bash :
Lorsque bash est lance comme shell de login interactif, ou comme shell
non-interactif avec l'option --login, il lit et execute tout d'abord
les commandes se trouvant dans le fichier /etc/profile s'il existe.
Apres lecture de ce fichier, il recherche ~/.bash_profile,
~/.bash_login, et ~/.profile, dans cet ordre, et execute les commande
se trouvant dans le premier fichier existant et accessible en lecture.
L'option --noprofile peut etre utilisee au demarrage du shell pour
empecher ce comportement.
Lorsqu'un shell de login se termine, bash lit et execute les commandes
du fichier ~/.bash_logout, s'il existe.
Quand un shell interactif demarre sans etre un shell de login, bash lit
et execute les commandes se trouvant dans ~/.bashrc s'il existe. Ce
comportement peut etre inhibe a l'aide de l'option --norc. L'option
--rcfile fichier forcera bash a executer les commandes dans fichier
plutot que dans ~/.bashrc.
Marsh Posté le 01-02-2003 à 16:39:39
PPssffiiouuu je ne m'y connais pas suffisament pour comprendre ce que ça signifie.
Ma question c'est : en pratique, qu'y gagne-t-on à mettre le "-" ?
Marsh Posté le 01-02-2003 à 16:53:21
En gros quand tu mets le -, bash exécute TOUS ses fichiers de config, et tu te retrouves dans le répertoire /root (enfin celui du nouvel utilisateur)
Sinon tu changes pas de répertoire et certains scripts ne sont pas exécutés.
Marsh Posté le 01-02-2003 à 16:26:39
J'ai une question vraiment con (pour changer).
Dans ma fenêtre terminal, pour passer root, je tape :
Le rentre le pass et voilà.
Partout, je vois qu'il faut taper :
A quoi sert le - ?
Message édité par ecliptux le 01-02-2003 à 16:27:13