Shadow (Unix): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Shadow |
rivista, con fonti |
||
Riga 1:
Quello delle '''shadow password''' è un meccanismo presente su vari [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]]<ref>{{cita web
|url=http://linux.die.net/man/5/shadow
|titolo=shadow
|opera=[[Linux]] man pages
|accesso=03-03-2010
|lingua=en}}</ref>
<ref>{{cita web
|url=http://docs.sun.com/app/docs/doc/819-2251/shadow-4?l=it&a=view
|titolo=shadow
|opera=[[Solaris (sistema operativo)|Solaris]] Express Reference Manual Collection
|accesso=03-03-2010
|lingua=en}}</ref>
<ref>{{cita web
|url=http://docs.hp.com/en/B2355-60130/shadow.4.html
|titolo=shadow
|opera=[[HP-UX]] Reference
|accesso=03-03-2010
|lingua=en}}</ref> (come ad esempio [[GNU/Linux]]) per memorizzare in forma [[Crittografia|crittografata]] le [[Password|password]] di autenticazione al sistema in [[file]] accessibili solo ad utenti privilegiati (ad esempio l'utente ''[[Root (utente)|root]]''), in modo da rendere più difficoltoso ottenere i dati necessari per effettuare un [[attacco a forza bruta]] per scoprire le password.<ref>{{cita web
|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.7151&rep=rep1&type=pdf
|titolo=UNIX Password Security - Ten Years Later*
|autore=David C. Feldmeier
|coautori=Philip R. Karn
|accesso=03-03-2010
|lingua=en
|formato=PDF
|pagine=6
}}</ref>
Con tale meccanismo, la password cifrata viene memorizzata nel file '''/etc/shadow''', che tramite il meccanismo dei [[Permessi (Unix)|permessi]] è accessibile in lettura e scrittura solo ad utenti privilegiati (''root''); le password cifrate non sono quindi più memorizzate nel file <code>/etc/passwd</code>, che è invece accessibile in lettura a tutti gli utenti del sistema, ed al loro posto vi si trova una semplice <code>x</code>, ad indicare che il valore è memorizzato altrove.
I programmi che necessitano di effettuare autenticazione possono operare in due modi:
I file '''/etc/shadow''' e '''/etc/[[Passwd|passwd]]''' sono entrambi [[file di testo]], che quindi possono essere aperti con [[editor di testo]] come ad esempio [[vi (software)|Vi]], [[Emacs]], [[Gedit]], [[Kate]] o [[Notepad]].▼
* essi sono eseguiti direttamente con i privilegi necessari per leggere il file <code>/etc/shadow</code>;
* essi ricorrono ad un programma esterno che, tramite i permessi [[setuid e setgid]], acquisisce i privilegi necessari per effettuare la sola operazione di verifica di una password.
▲
Ogni riga descrive un utente, ed è composta da 9 campi separati dal delimitatore ":" ([[due punti]]). I campi indicano, nell'ordine:▼
Per modificare una password è necessario utilizzare il comando [[passwd]].
Il comando [[
root:!:14608:0:99999:6:::▼
== Formato del file /etc/shadow ==
▲Ogni riga descrive un utente del sistema, ed è composta da 9 campi separati dal delimitatore ":" ([[due punti]]).
Un esempio di file <code>/etc/shadow</code>:
daemon:*:14545:0:99999:7:::
bin:*:14545:0:99999:7:::
sys:*:14545:0:99999:7:::
sync:*:14545:0:99999:7:::
mariorossi:$6$F5o3Sdoc$y.IdYyCK74kDS6zXxW7iFer8JdaagQAViaZJGO1Om8MPZUxn8XTml9TNLn2deLNRPNKwZAvHKfefAtnDVD5Zo/:14671:0:10:6:7:14800:9
# Il nome utente. ( user )▼
# Numero di giorni minimi che devono trascorrere prima di poter modificare la [[Password|password]] ( 0 )▼
# Numero di giorni massimi che devono trascorrere tra una modifica e l'altra di una [[Password|password]] ( 10 )▼
# Numero di giorni di preavviso della scadenza della [[Password|password]] ( 6 )▼
# Numero di giorni trascorsi dalla scadenza della [[Password|password]] prima di disattivare l'[[Account|account]] ( 7 )▼
I campi indicano, nell'ordine:
# La [[Password|password]] [[Crittografia|crittografata]], oppure un [[asterisco]] per indicare che non è possibile effettuare direttamente il [[login]] con quell'utente (ma occorre prima autenticarsi con un altro utente, e poi impersonare quell'utente tramite i comandi [[su (Unix)|su]] o [[sudo]]).
# La data del ultima modifica della [[Password|password]], come numero di giorni trascorsi dal 1 gennaio 1970 (es. <code>14671</code>).
▲#
▲#
▲#
▲#
# La data di scadenza della [[Password|password]], come numero di giorni dal 1 gennaio 1970 (es. <code>14800</code>).
# Un campo riservato per usi futuri (es. <code>9</code>).
== Note ==
▲Il comando [[pwconv_(Unix)|pwconv]] permette di armonizzare i file '''/etc/shadow''' e
<references/>
▲'''/etc/[[Passwd|passwd]]''' aggiungendo e eliminando gli utenti non utilizzati. [[pwconv_(Unix)|pwconv]] acquisisce i dati dai file da '''/etc/shadow''' e '''/etc/login.defs'''
== Comandi collegati ==
|