Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CORSO DI FONDAMENTI DEI SISTEMI OPERATIVI<br />
A.A. 2012-2013<br />
(Prof. G. Piscitelli)<br />
Storicamente su Unix il file /etc/passwd conteneva l'elenco di tutti gli utenti e la loro password in forma criptata.<br />
Per la stessa natura di Unix, tutti gli utenti devono poter aver accesso in lettura a questo file, per cui esporre le<br />
password di tutti, seppur criptate, risultava rischioso per la sicurezza del sistema.<br />
Su tutti i sistemi Linux e Unix recenti, la gestione della password è stata migliorata sia in termini di sicurezza<br />
che di versatilità, affiancando al normale /etc/passwd la gestione del file /etc/shadow che introduce nuove<br />
funzionalità (vedi i diritti associati al file /etc/shadow e confronta con /etc/passwd). Questo file è leggibile solo<br />
dal root, mentre viene lasciato l'accesso in lettura a /etc/passwd per tutti gli utenti. Le password in /etc/shadow<br />
sono criptate con algoritmi più complessi e robusti. È possibile gestire il tempo di scadenza, la durata minima e<br />
massima e i tempi di notifica della password.<br />
Il file /etc/shadow è il database delle password sui sistemi Unix più evoluti. In esso sono elencate, per ogni<br />
utente, la password (criptata) e vari parametri ad essa connessi (ultima modifica, durata massima e minima,<br />
ecc...). Ad esso fanno riferimento diversi files, fra cui /etc/passwd e tutti i comandi per la gestione degli utenti<br />
(useradd, userdel, usermod).<br />
Le righe in /etc/shadow si presentano nella seguente forma:<br />
Username:password:lastchange:min:max:warn:inactive:expire<br />
Username Il nome dell'utente a cui fa riferimento la password<br />
Password Password criptata (13 caratteri). Può assumere anche altri valori quali * che sta ad indicare che<br />
l'utente è disabilitato e !! (o nessun carattere) che indica che l'utente non ha password<br />
lastchange Numero di giorni compresi fra il 1 gennaio 1970 e l'ultima modifica della password<br />
min Minimo numero di giorni dall'ultima data di modifica prima di poter nuovamente cambiare la password<br />
max Durata massima della password (sempre in giorni)<br />
warn Numero di giorni di preavviso all'utente prima di invalidare la password<br />
inactive Numero di giorni di inattività possibili per l'utente<br />
expire Data dopo la quale il login non può più essere effettuato<br />
userdel<br />
Rimuove l'account di un utente, ma non i file relativi.<br />
SINTASSI: # userdel [opzioni] nome_utente<br />
Opzioni:<br />
-r Rimuove anche i file della home_directory utente<br />
usermod<br />
Comando che permette di cambiare le impostazioni di un account creato precedentemente. L'utente che lancia il<br />
comando deve possedere i privilegi di amministratore.<br />
SINTASSI # usermod [opzioni] login-name<br />
Opzioni:<br />
-d home_dir Modifica la home_dir dell'utente<br />
-e expire_date Modifica l'expire_date<br />
-f inactive_days Modifica il numero di giorni che intercorrono fra la scadenza della password e la disabilitazione<br />
dell'account<br />
-g initial_group Modifica il gruppo primario<br />
-G groups Modifica i Gruppi secondari<br />
-l login Cambia il nome di login dell'utente<br />
-p password Modifica la password criptata (sconsigliato)<br />
-s <strong>shell</strong>s Modifica la <strong>shell</strong> di default dell'utente<br />
-u UID Modifica l'UID<br />
-L Esegue il lock dell'account<br />
-U Operazione inversa del lock, ovvero riabilita l'account<br />
Esercitazioni comandi <strong>shell</strong> <strong>Bash</strong> (Ing. S. Giannini) Pagina 26