Esistono diversi schemi di autenticazione che possono essere utilizzati su sistemi Linux. Lo schema più comunemente usato e standard consiste nell'eseguire l'autenticazione rispetto a /etc/passwd
e /etc/shadow
file.
/etc/shadow
è un file di testo che contiene informazioni sulle password degli utenti del sistema. È di proprietà dell'utente root e del gruppo shadow e dispone di 640 autorizzazioni.
/etc/shadow
Formato #
Il /etc/shadow
contiene una voce per riga, ciascuna delle quali rappresenta un account utente. Puoi visualizzare il contenuto del file, con un editor di testo o un comando come cat
:
sudo cat /etc/shadow
In genere, la prima riga descrive l'utente root, seguito dal sistema e dai normali account utente. Le nuove voci vengono aggiunte alla fine del file.
Ogni riga del /etc/shadow
contiene nove campi separati da virgole:
mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
| | | | | |||+-----------> 9. Unused
| | | | | ||+------------> 8. Expiration date
| | | | | |+-------------> 7. Inactivity period
| | | | | +--------------> 6. Warning period
| | | | +------------------> 5. Maximum password age
| | | +----------------------> 4. Minimum password age
| | +--------------------------> 3. Last password change
| +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username
-
Nome utente. La stringa che digiti quando accedi al sistema. L'account utente esistente nel sistema.
-
Password crittografata. La password sta usando il
$type$salt$hashed
formato.$type
è l'algoritmo di hash crittografico del metodo e può avere i seguenti valori:$1$
– MD5$2a$
– Pesce palla$2y$
– Eksblowfish$5$
– SHA-256$6$
– SHA-512
Se il campo della password contiene un asterisco (
*
) o punto esclamativo (!
), l'utente non sarà in grado di accedere al sistema utilizzando l'autenticazione tramite password. Sono ancora consentiti altri metodi di accesso come l'autenticazione basata su chiave o il passaggio all'utente.Nei vecchi sistemi Linux, la password crittografata dell'utente era archiviata in
/etc/passwd
file. -
Ultima modifica della password. Questa è la data dell'ultima modifica della password. Viene contato il numero di giorni dal 1 gennaio 1970 (data dell'epoca).
-
Età minima della password. Il numero di giorni che devono trascorrere prima che la password utente possa essere modificata. In genere è impostato su zero, il che significa che non esiste un'età minima per la password.
-
Età massima della password. Il numero di giorni dopo che la password utente deve essere modificata. Per impostazione predefinita, questo numero è impostato su
99999
. -
Periodo di avviso. Il numero di giorni prima della scadenza della password durante i quali l'utente viene avvisato che la password deve essere modificata.
-
Periodo di inattività. Il numero di giorni dopo la scadenza della password utente prima che l'account utente venga disabilitato. In genere questo campo è vuoto.
-
Data di scadenza. La data in cui l'account è stato disattivato. È rappresentato come una data di epoca.
-
Inutilizzato. Questo campo viene ignorato. È riservato per un uso futuro.
Il /etc/shadow
il file non deve essere modificato manualmente a meno che tu non sappia cosa stai facendo. Utilizzare sempre un comando progettato per lo scopo. Ad esempio, per modificare una password utente, utilizzare il passwd
comando e per modificare le informazioni sull'invecchiamento della password, utilizzare il chage
comando.
Voce di esempio #
Diamo un'occhiata al seguente esempio:
linuxize:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::
La voce sopra contiene informazioni sulla password "linuxize" dell'utente:
- La password è crittografata con SHA-512 (la password viene troncata per una migliore leggibilità).
- La password è stata modificata l'ultima volta il 23 aprile 2019 -
18009
. - Non esiste un'età minima per la password.
- La password deve essere modificata almeno ogni 120 giorni.
- L'utente riceverà un messaggio di avviso sette giorni prima della data di scadenza della password.
- Se l'utente non tenta di accedere al sistema 14 giorni dopo la scadenza della password, l'account verrà disabilitato.
- Non esiste una data di scadenza dell'account.
Conclusione #
Il /etc/shadow
file conserva i record delle password crittografate degli utenti, nonché altre informazioni relative alle password.
Se hai domande o feedback, sentiti libero di lasciare un commento.