La riga di comando di Linux offre diversi strumenti per la gestione degli utenti (alcuni dei quali abbiamo già discusso). Una di queste utilità è chage , che ti consente di modificare le informazioni sulla scadenza della password. In questo tutorial, discuteremo di questo strumento utilizzando alcuni esempi di facile comprensione. Ma prima di immergerci, vale la pena ricordare che tutti gli esempi qui presenti sono stati testati su una macchina Ubuntu 18.04 LTS.
Comando Linux chage
Il comando chage, come già spiegato sopra, ti consente di modificare le informazioni sulla scadenza della password dell'utente. Di seguito è riportata la sua sintassi:
chage [options] LOGIN
Ed ecco cosa dice la pagina man a riguardo:
The chage command changes the number of days between password changes
and the date of the last password change. This information is used by
the system to determine when a user must change his/her password.
Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti una buona idea su come funziona il comando chage:
Q1. Come visualizzare le informazioni sulla scadenza della password corrente?
Per visualizzare le informazioni sulla data di scadenza della password corrente per un utente, utilizzare l'opzione della riga di comando -l.
chage -l [USERNAME]
Ecco un esempio:
chage -l himanshu
E quello che segue è l'output che ha prodotto sul mio sistema:
Last password change : Jul 26, 2018
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Quindi attualmente, la password è impostata per scadere "mai".
Q2. Come modificare la data di scadenza della password?
Puoi farlo usando l'opzione della riga di comando -M, che richiede di passare un numero (che si riferisce al numero massimo di giorni durante i quali una password è valida).
Ad esempio:
chage -M 1000 himanshu
Nota che questa operazione richiede i privilegi di root.
Come puoi vedere nello screenshot qui sopra, la scadenza della password è stata ora fissata al 21 aprile 2021.
Tieni presente che puoi anche usare -m opzione della riga di comando, utilizzata per impostare il numero minimo di giorni tra le modifiche della password. L'opzione -M di cui abbiamo discusso sopra imposta il numero massimo di giorni durante i quali una password è valida.
T3. Come modificare la data dell'ultima modifica della password?
Puoi modificare la data dell'ultima modifica della password usando l'opzione della riga di comando -d. Come input, puoi passare un numero a questa opzione o una data completa. Ecco come lo spiega la pagina man:
-d, --lastday LAST_DAY
Set the number of days since January 1st, 1970 when the password
was last changed. The date may also be expressed in the format
YYYY-MM-DD (or the format more commonly used in your area).
Segue un esempio:
Quindi puoi vedere che il valore del campo "Ultima modifica password" è stato modificato correttamente.
Q4. Come avvisare l'utente prima della scadenza della password?
Il comando chage consente inoltre di impostare il numero di giorni di avviso prima che sia richiesta la modifica della password. Questo può essere fatto usando l'opzione della riga di comando -W.
-W, --warndays WARN_DAYS
Set the number of days of warning before a password change is
required. The WARN_DAYS option is the number of days prior to the
password expiring that a user will be warned his/her password is
about to expire.
Ad esempio:
chage -W 10 himanshu
Questo comando assicurerà che l'utente visualizzi l'avviso di scadenza della password 10 giorni prima della scadenza della password.
Q5. Come bloccare un account?
Utilizzare l'opzione della riga di comando -E per bloccare un account. Il modo in cui accetta l'input è simile all'opzione -W di cui abbiamo discusso sopra. Per riferimento, ecco come lo spiega la pagina man:
-E, --expiredate EXPIRE_DATE
Set the date or number of days since January 1, 1970 on which the
user's account will no longer be accessible. The date may also be
expressed in the format YYYY-MM-DD (or the format more commonly
used in your area). A user whose account is locked must contact the
system administrator before being able to use the system again.
Passing the number -1 as the EXPIRE_DATE will remove an account
expiration date.
Ad esempio:
chage -E 2019-06-21 himanshu
Questo comando sopra assicurerà che l'account per l'utente "himanshu" diventi inaccessibile a partire dal 21 giugno 2019.
Q6. Cosa succede se chage viene utilizzato senza alcuna opzione?
Ecco cosa succede in questo caso:
If none of the options are selected, chage operates in an interactive
fashion, prompting the user with the current values for all of the
fields. Enter the new value to change the field, or leave the line
blank to use the current value. The current value is displayed between
a pair of [ ] marks.
Conclusione
Se sei un amministratore di sistema Linux o qualcuno che è responsabile della gestione degli utenti su macchine Linux, vale la pena tenere questo comando nel tuo gattino. Abbiamo trattato diverse opzioni della riga di comando chage qui. Per saperne di più, vai alla pagina man di chage.