Le tecnologie di sicurezza hanno fatto molta strada, ma la venerabile password rimane ancora uno degli strumenti più comuni utilizzati per proteggere i dati.
Il comando passwd ti consente di modificare la password dell'utente in Linux, ma può fare molto di più. Puoi bloccare (e sbloccare) gli utenti. Puoi fare in modo che un utente cambi la password al prossimo accesso e altro ancora.
In questo tutorial, ti mostrerò alcuni utili esempi del comando passwd che potresti usare come amministratore di sistema.
Esempi pratici di comando passwd
Il comando passwd funziona sul file /etc/passwd. Le modifiche che hai apportato si riflettono qui.
Dove è memorizzata la password in Linux? È archiviato in forma crittografata nel file /etc/shadow.
Vediamo alcuni esempi del comando passwd.
1. Cambia la tua password
Per modificare la password dell'utente corrente, ovvero la password del proprio account, è sufficiente inserire il comando passwd senza alcuna opzione.
passwd
Ti verrà chiesto di utilizzare prima la tua password attuale:
[email protected]:~$ passwd
Changing password for christopher.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Se inserisci la tua password attuale come nuova password, il sistema genererà un messaggio di errore dicendo che la password è invariata e ti chiederà di nuovo una nuova password.
2. Crea la password di root
Molte distribuzioni Linux vengono fornite senza una password di root impostata. L'unico modo per accedere all'account root è tramite i comandi sudo o su. Questo perché una password predefinita come "toor" renderebbe un sistema vulnerabile agli aggressori.
Devi essere un utente sudo per creare la password di root:
sudo passwd root
Ecco l'output:
[email protected]:~$ sudo passwd root
[sudo] password for christopher:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Questo è uno dei tanti motivi per cui è fondamentale configurare correttamente l'accesso degli utenti. Non vorresti che tutti gli utenti potessero cambiare la tua password di root!
3. Modifica la password di un altro utente
Puoi cambiare la password utente in Linux usando il comando passwd come root o con sudo.
sudo passwd user_name
Ovviamente non ti verrà richiesta la vecchia password. Dopotutto stai reimpostando la password e come amministratore dovresti essere in grado di farlo.
[email protected]:/home/christopher# passwd christopher
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
4. Verifica lo stato della password
Puoi controllare lo stato della password di un utente in questo modo:
sudo passwd -S user_name
Ecco un esempio:
[email protected]:~$ passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
Esaminiamo queste informazioni. Lo organizzerò in una tabella per facilitarne la lettura. Poi discuterò cosa significano determinati valori.
Nome utente | Stato | Data dell'ultima modifica | Età minima | Età massima | Periodo di avviso | Periodo di inattività |
---|---|---|---|---|---|---|
cristoforo | P | 13/06/2020 | 0 | 99999 | 7 | -1 |
Diamo un'occhiata prima alla colonna di stato. Ecco le possibili opzioni per questo campo.
Stato | Descrizione |
---|---|
P | Password utilizzabile |
NP | Nessuna password |
L | Password bloccata |
Ci sono dei numeri speciali riservati per l'impostazione dei parametri sulle regole della password.
Numeri speciali per età | Descrizione |
---|---|
9999 | Non scade mai |
0 | Può essere modificato in qualsiasi momento |
-1 | Non attivo |
Qui vedi che il periodo di avviso è impostato a 7 giorni, ma poiché il periodo di inattività è disabilitato e l'età è impostata per non scadere mai, non si verificherebbe alcun avviso.
5. Controlla lo stato della password per tutti gli account
Puoi anche controllare lo stato della password di tutti gli account utente sul tuo sistema:
sudo passwd -Sa
6. Forza l'utente a cambiare la password al prossimo accesso
È possibile utilizzare l'opzione -e per far scadere immediatamente la password dell'utente. Ciò costringerà l'utente a modificare la password al prossimo accesso.
sudo passwd -e user_name
Ecco come si presenta la scadenza forzata:
[email protected]:/home/christopher# passwd -e christopher
passwd: password expiry information changed.
Ora puoi controllare lo stato per annotare le modifiche:
[email protected]:/home/christopher# passwd -S christopher
christopher P 01/01/1970 0 99999 7 -1
Come puoi vedere, la data di impostazione della password è stata modificata in '01/01/1970'. Questa data è storicamente legata ai sistemi Unix in quanto è una data "epoca". Ciò significa sostanzialmente che quella data è il giorno "0" (su una scala a 32 bit) nella cronologia di Unix.
La password è scaduta correttamente. La prossima volta che il mio account effettuerà l'accesso, sarà forzato a cambiare con una password diversa.
7. Blocca o sblocca gli account utente
L'opzione -l del comando passwd consente di bloccare un account utente in Linux:
sudo passwd -l user_name
Una volta utilizzata su un account utente, la password non funzionerà più per concedere l'accesso.
[email protected]:/home/christopher# passwd -l christopher
passwd: password expiry information changed.
È possibile confermare lo stato della password utente con l'opzione -S come discusso in precedenza. L sta per blocco nell'output qui.
[email protected]:/home/christopher# passwd -S christopher
christopher L 06/13/2020 0 99999 7 -1
Sbloccare l'account utente è altrettanto facile. Usa l'opzione -u per sbloccare l'utente:
[email protected]:/home/christopher# passwd -u christopher
passwd: password expiry information changed.
Puoi confermare lo stato. La P nell'output indica una password utilizzabile, ovvero la password può essere utilizzata con l'account.
[email protected]:/home/christopher# passwd -S christopher
christopher P 06/13/2020 0 99999 7 -1
8. Elimina la password da un account e impostala senza password
Non vedo alcun caso d'uso pratico per questo, ma puoi eliminare la password per un determinato account. In questo modo, quell'account non avrà bisogno della password per accedere al sistema. Questo non va bene per la sicurezza.
sudo passwd -d user_name
Conclusione
Puoi anche usare l'opzione -n per forzare un utente a cambiare la password in N numero di giorni. Ma farlo manualmente è una perdita di tempo. Invece, dovresti configurare correttamente la politica della password del tuo sistema in modo che sia applicabile a tutti gli account utente.
Puoi sempre vedere tutte le opzioni disponibili usando l'opzione -h.
Spero che questo tutorial sia stato utile per iniziare con il comando passwd in Linux.
Come sempre, ci piace sentire dai nostri lettori i contenuti a cui sono interessati. Lascia un commento qui sotto e condividi i tuoi pensieri con noi!