Sur un terminal texte, il y a le programme getty
qui attend le
login de l'utilisateur. Il est chargé d'écrire 'login:'
et quelques autres messages.
Il travaille avec l'environnement de init
. Lorsque l'utilisateur
commence à se connecter au moyen de getty
, ce dernier
invoque le programme login
.
Celui-ci installe alors l'environnement utilisateur et lance le shell.
Le programme login fixe le PATH comme défini dans le fichier
/usr/include/paths.h
.
Il s'agit, pour les utilisateurs normaux (_PATH_DEFPATH) de :
/usr/local/bin:/usr/bin:/bin:.Et pour root (_PATH_DEFPATH_ROOT) de :
/sbin:/bin:/usr/sbin:/usr/binLe PATH des utilisateurs normaux ne contient aucun répertoires
sbin
. Cependant, il contient le répertoire
courant '.', qui est considéré comme dangereux pour
l'utilisateur root. Même /usr/local/bin
n'est pas
disponible pour root.Le PATH obtenu lors du login est souvent modifié par
l'initialisation du shell.
Cependant, il est possible d'utiliser d'autres programmes que des shells
dans /etc/passwd
. Par exemple, j'utilise la ligne suivante
pour lancer PPP quand
je me connecte avec le nom d'utilisateur etu-ppp. Dans ce cas,
pppd
possède exactement le PATH du login.
etu-ppp:viYabVlxPwzDl:1000:1000:Esa Turtiainen, PPP:/:/usr/sbin/pppd