Avanti Indietro Indice

5. Il Login

In una console di testo c'è un programma, getty, che aspetta che l'utente faccia il login. Esso scrive "login:" e altri messaggi. Lavora nell'ambiente di init. Quando un utente si autentica, getty invoca il programma "login". Esso imposta l'ambiente utente e invoca la shell.

Il programma login imposta PATH secondo quanto definito in /usr/include/paths.h. Per l'utente root questi percorsi sono diversi da quelli degli altri utenti.

per gli utenti comuni (_PATH_DEFPATH):

/usr/local/bin:/usr/bin:/bin:.
per root (_PATH_DEFPATH_ROOT):
/sbin:/bin:/usr/sbin:/usr/bin

Il path di un utente comune non contiene nessuna directory sbin. Tuttavia esso contiene la directory corrente '.', che è considerata pericolosa per l'utente root. Nemmeno la directory /usr/local/bin è disponibile per l'utente root.

Il PATH ottenuto al momento del login viene spesso sostituito da quello definito negli script di inizializzazione delle shell. Comunque è possibile usare altri programmi in /etc/passwd come shell per l'utente. Ad esempio, io ho usato la seguente riga per far partire PPP quando accedo al sistema con un nome utente speciale. In questo caso, pppd ha esattamente il PATH definito al momento del login.

etu-ppp:viYabVlxPwzDl:1000:1000:Esa Turtiainen, PPP:/:/usr/sbin/pppd


Avanti Indietro Indice