Gestire utenti e password: i file /etc/passwd e /etc/shadow
Pagina 1 di 2
La gestione degli utenti e delle relative password in Linux è argomento piuttosto difficile e richiederebbe un'indagine approfondita e molto articolata.
In questa sede, pertanto, ci limiteremo ad analizzare il contenuto dei due file di testo particolarmente importanti nella gestione degli utenti del sistema, al fine di capire come linux gestisca queste informazioni e di come sia possibile modificarle. I due file in questione sono /ect/passwd/ e /etc/shadow/.
N.B.: gli esempi che seguono sono stati realizzati utilizzando la distribuzione Ubuntu.
/etc/passwd
In questo file nelle prime versioni Unix/Linux venivano memorizzate le password (ora questa funzione è svolta da /etc/shadow, che analizziamo in seguito).
E’ leggibile da tutti gli utenti e contiene numerose informazioni come la corrispondenza tra nome utente e relativo identificativo numerico (user ID), la shell di login utilizzata, la directory home, ecc..
Apriamo il file con un editor di testo:
nano /etc/passwdVediamo che sono presenti molte voci corrispondenti agli utenti, la maggior parte dei quali sono utenti di sistema. Prendiamone qualcuna di esempio:
root:x:0:0:root:/root:/bin/bash bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh francesco:x:1000:1000:Francesco,,,:/home/francesco:/bin/bashLe voci sopra indicate corrispondono all’utente amministrativo “root”, agli utenti di sistema “bin” e “sys”, all’utente “francesco”, cioè quello che uso in questo momento.
Analizziamo nel dettaglio quella relativa al mio utente descrivendo ognuno dei 7 campi che la compongono, separati dal carattere due punti (:):
francesco:x:1000:1000:Francesco,,,:/home/francesco:/bin/bash
- il primo campo è il nome utente (username)
- il secondo corrisponde alla password cifrata (la X indica che sono attive le password shadow, memorizzate nel file /etc/shadow)
- il terzo è il numero identificativo dell’utente (user ID)
- il quarto quello del gruppo (group ID)
- il quinto contiene il nome o/e cognome dell’utente più eventuali altri campi di commento separati da virgole
- il sesto il percorso della directory home
- il settimo indica la shell utilizzata







