Cosa fa login

login si occupa di autenticare l'utente (cioè di assicurarsi che il nome dell'utente e la password combacino), di configurare un ambiente iniziale impostando i permessi per la linea seriale e di inizializzare la shell.

Parte della configurazione iniziale consiste nel mandare in output il contenuto del file /etc/motd (per ``message of the day'', cioè ``messaggio del giorno'') e controllare la posta elettronica. Queste fasi possono essere disabilitate creando il file .hushlogin nella home directory dell'utente.

Se esiste il file /etc/nologin i login vengono disabilitati. Un file del genere viene di solito creato da shutdown e da comandi simili. login controlla la presenza di questo file e se esiste non accetterà i login, mandando in output il suo contenuto al terminale prima di uscire.

login tiene un log di tutti i tentativi di login falliti in un file di log di sistema (usando syslog). Tiene anche un log di tutti i login di root; entrambi possono essere utili per rintracciare gli intrusi.

Gli utenti collegati in ogni momento sono elencati in /var/run/utmp. Questo file è valido solo finché il sistema non viene riavviato o spento e viene ripulito quando il sistema si avvia; elenca ciascun utente ed il terminale (o la connessione di rete) che sta usando, insieme ad altre informazioni utili. I comandi who, w ed altri simili controllano in utmp per vedere chi è collegato.

Tutti i login che hanno avuto successo sono registrati in /var/log/wtmp. Questo file crescerà senza limite, quindi deve essere ripulito regolarmente, ad esempio usando un job di cron settimanale[1]. Il comando last legge in wtmp.

Sia utmp che wtmp sono in formato binario (consultate la pagina man di utmp); sfortunatamente non conviene esaminarli senza usare programmi speciali.

Note

[1]

Le buone distribuzioni di Linux lo fanno senza dover configurare niente.