Shadow (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Shadow
 
Ianezz (discussione | contributi)
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
'''/etc/shadow''' è un file che fa parte dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]] (come ad esempio [[GNU/Linux]]) che consente [[Crittografia|crittografare]] una [[Password|password]] di un [[Login|login]] utente in maniera sicura. Il suo accesso in lettura e scrittura (chiamati anche [[Permessi_(Unix)|permessi]]) è riservata '''esclusivamente''' al utente [[root (utente)|root]]. E uno standard su molte distribuzioni come [[Ubuntu]].
|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.
Viene utilizzato in accoppiata con il file '''/etc/[[Passwd|passwd]]''' sostituendo la [[Password|password]] in chiaro con una x. Per modificare una [[Password|password]] è necessario utilizzare il comando [[Passwd]].
 
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.
 
IIl file '''<code>/etc/shadow'''</code>, ecome il file '''<code>/etc/[[Passwd|passwd]]'''</code>, sonoè entrambiun [[file di testo]], che quindi possonopuò essere apertiaperto con un [[editor di testo]], come ad esempio [[vi (software)|Vi]], [[Emacs]], [[Gedit]], [[Kate]] o [[Notepad]].
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 [[pwconv_pwconv (Unix)|pwconv]] permette di armonizzare i file '''<code>/etc/shadow'''</code> e
root:!:14608:0:99999:6:::
'''<code>/etc/[[Passwd|passwd]]'''</code> aggiungendo egli utenti mancanti ed eliminando gli utenti non utilizzati. [[pwconv_(Unix)|pwconv]] acquisisce i dati dai file da '''<code>/etc/shadow'''</code> e '''<code>/etc/login.defs'''</code>.
 
== Formato del file /etc/shadow ==
Ogni riga descrive un utente del sistema, ed è composta da 9 campi separati dal delimitatore ":" ([[due punti]]). I campi indicano, nell'ordine:
 
Un esempio di file <code>/etc/shadow</code>:
root:!$1$Pm11DX86$t58Ta1.ErOm9TyJbQk//l.:14608:0:99999:6:::
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
user:*:14608:0:10:6:7:14609:9
 
# Il nome utente. ( user )
# [[Password|password]] [[Crittografia|crittografata]] ( * )
# Data del ultima modifica della [[Password|password]] ( 14608 )
# 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 )
# Data di scadenza della [[Password|password]] ( 14609 )
# Spazio attualmente non utilizzato ( 9 )
 
I campi indicano, nell'ordine:
user:*:14608:0:10:6:7:14609:9
# Il nome utente. (es. user <code>mariorossi</code>).
# 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>).
# NumeroIl numero minimo di giorni minimi che devono trascorrere prima di poter modificare la [[Password|password]] (es. <code>0 </code>).
# NumeroIl massimo numero di giorni massimi che devono trascorrereintercorrere tra una modifica e l'altra di una [[Password|password]] (es. <code>10 </code>).
# NumeroIl numero di giorni di preavviso della scadenza della [[Password|password]] (es. <code>6 </code>).
# NumeroIl numero di giorni trascorsi dallai scadenzaquali dellauna [[Password|password]] primascaduta dicomporta disattivarela ldisattivazione dell'[[Account|account]] ( <code>7 </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 ==