Quando fate il log in (date un nome e la password) vi identificate a
getty
e al computer. Parte allora un altro programma chiamato
(ovviamente) login
, che controlla se siete autorizzati a
usare quella macchina. Se non lo siete, il tentativo di log in viene
rifiutato. Se lo siete, login compie qualche operazione di servizio
e poi fa partire un interprete di comandi, la shell. (Sì,
getty
e login
potrebbero essere un solo
programma. Sono separati per motivi storici che qui non vale la pena
approfondire.)
Ecco più in dettaglio che cosa accade prima che compaia la shell; sarà necessario comprenderlo più avanti quando parleremo di autorizzazioni dei file. Si viene identificati con un nome di login e password. Questo nome di login viene cercato in un file chiamato /etc/password, costituito da una sequenza di righe ciascuna delle quali descrive un account utente.
Uno di questi campi è una versione cifrata della password
dell'account. Quello che inserite come password viene cifrato
esattamente allo stesso modo e il programma login
controlla
se corrispondono. La sicurezza di questo metodo dipende dal fatto che,
mentre è facile passare da una password in chiaro a una cifrata,
l'inverso è molto difficile. Per cui, se qualcuno riesce a vedere la
versione cifrata della vostra password non può comunque usare il
vostro account. (Significa anche che se dimenticate la vostra
password, non c'è modo di recuperarla, ma solamente di cambiarla in
un'altra di vostra scelta.)
Una volta effettuato il log in con successo, otterrete tutti i privilegi associati al singolo account che state utilizzando. Potreste anche essere riconosciuti come appartenenti a un group. Un gruppo è un insieme di utenti impostato dall'amministratore e a cui è associato un nome. I gruppi possono avere privilegi indipendentemente dai privilegi dei loro membri. Un utente può appartenere a più gruppi. (Per maggiori dettagli sul funzionamento dei privilegi in Unix si veda la sezione su permissions .)
(Si noti che, sebbene si fa normalmente riferimento agli utenti e ai
gruppi per nome, essi sono in realtà memorizzati internamente come ID
numerici. Il file password associa il vostro nome di account a un ID
utente; il file /etc/group
associa i nomi di
gruppo agli ID numerici dei gruppi. I comandi che hanno a che fare con
account e gruppi effettuano automaticamente la conversione.)
La vostra registrazione di account contiene anche la vostra home directory, il posto nel file system Unix che contiene
i vostri file personali. Infine, la registrazione dell'account imposta
anche la shell, l'interprete di comandi che login
avvierà per accettare i vostri comandi.