In questo tutorial spiegherò come un utente o un super utente (root) può modificare la password in Linux. Passwd è il comando utilizzato in Linux (Redhat, Centos, Ubuntu, Debian, Fedora) e nei sistemi operativi simili a UNIX per cambiare la password.
Quando eseguiamo passwd
comando che la password crittografata dell'utente sia memorizzata nel file /etc/shadow.
Un utente normale (non root) potrà solo modificare la propria password. Mentre gli utenti root o sudo possono cambiare la password per qualsiasi account.
Per motivi di sicurezza è sempre consigliabile utilizzare una password complessa e cambiarla regolarmente.
Cambiare la password
Se il passwd
il comando viene eseguito da un utente non root, quindi chiederà la password corrente e quindi imposterà la nuova password di quell'utente. Il super utente o il root possono reimpostare la password per qualsiasi utente incluso il root senza conoscere la password corrente.
Se il comando passwd
viene invocato da un utente non root, devi prima fornire la tua password esistente prima di procedere con la modifica della password. La password deve essere digitata due volte e non viene ripetuta sullo schermo durante la digitazione.
$ passwd
Changing password for vagrant.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Inoltre, non puoi fornire parole semplici come password. Il comando Passwd verificherà quanto è lunga e complessa la tua password. Nell'output seguente viene provata una semplice password basata su dizionario.
$ passwd
Changing password for vagrant.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password
Enter new UNIX password:
Retype new UNIX password:
Bad: new password is too simple
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Modifica password come Super-User (root)
Qualsiasi utente del sistema può modificare solo la propria password. Il passwd
comando non accetta alcun argomento quando viene eseguito come utente normale.
Ma come root puoi cambiare e reimpostare la password di qualsiasi utente nel sistema.
L'utilizzo è il seguente:
# passwd [options] [user_name]
Diverse opzioni che possono essere utilizzate sono:
Options:
-a, --all report password status on all accounts
-d, --delete delete the password for the named account
-e, --expire force expire the password for the named account
-h, --help display this help message and exit
-k, --keep-tokens change password only if expired
-i, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --lock lock the password of the named account
-n, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-q, --quiet quiet mode
-r, --repository REPOSITORY change password in REPOSITORY repository
-R, --root CHROOT_DIR directory to chroot into
-S, --status report password status on the named account
-u, --unlock unlock the password of the named account
-w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
-x, --maxdays MAX_DAYS set maximum number of days before password
change to MAX_DAYS
Quando root esegue passwd
comando ripristinerà la password di root per impostazione predefinita e se specifichi il nome utente dopo passwd
comando quindi cambierà la password di quell'utente.
# passwd vagrant
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#
L'utente root può anche fornire password semplici. Sebbene venga visualizzato un avviso, la password viene comunque modificata correttamente. La password dell'utente di sistema è memorizzata in un formato crittografato nel file /etc/shadow.
Visualizza le informazioni sullo stato della password
Per visualizzare le informazioni sullo stato della password di un utente desiderato, utilizzare -S
opzione nel comando passwd.
# passwd -S vagrant
vagrant P 07/02/2019 0 99999 7 -1
#
Il primo campo mostra il nome utente, il secondo campo mostra lo stato della password ( PS =Password impostata, LK =Password bloccata, NP =Nessuna password), il terzo campo mostra l'ultima modifica della password e l'ultimo e il quarto campo mostrano l'età minima, l'età massima, avviso periodo e periodo di inattività per la password.
Per elencare lo stato di tutte le password utente nel sistema useremo -Sa
parametro:
# passwd -Sa
root P 05/14/2019 0 99999 7 -1
daemon L 05/14/2019 0 99999 7 -1
bin L 05/14/2019 0 99999 7 -1
sys L 05/14/2019 0 99999 7 -1
sync L 05/14/2019 0 99999 7 -1
games L 05/14/2019 0 99999 7 -1
man L 05/14/2019 0 99999 7 -1
lp L 05/14/2019 0 99999 7 -1
mail L 05/14/2019 0 99999 7 -1
news L 05/14/2019 0 99999 7 -1
uucp L 05/14/2019 0 99999 7 -1
proxy L 05/14/2019 0 99999 7 -1
www-data L 05/14/2019 0 99999 7 -1
backup L 05/14/2019 0 99999 7 -1
Rimozione della password di un utente
Per rimuovere la password di un utente desiderato useremo -d
opzione di comando:
# passwd -d test
passwd: password expiry information changed.
# passwd -S test
test NP 07/02/2019 0 99999 7 -1
Nota:opzione -d
renderà vuota la password dell'utente e disabiliterà l'account dell'utente.
Imposta scadenza password
Per far scadere la password dell'utente e costringere quell'utente a cambiare la password al prossimo accesso, usa -e
opzione in passwd
comando.
# passwd -e test
passwd: password expiry information changed.
# passwd -S test
test NP 01/01/1970 0 99999 7 -1
Blocca e sblocca la password di un utente del sistema
Per bloccare la password di un utente usa -l
opzione in passwd
comando. Aggiungerà !
all'inizio della password dell'utente. L'utente non può cambiare la sua password quando la sua password è bloccata.
# passwd -l test
passwd: password expiry information changed.
# passwd -S test
test L 07/03/2019 0 99999 7 -1
Per sbloccare la password dell'utente usa -u
opzione:
# passwd -u test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 -1
Impostazione dei giorni inattivi utilizzando l'opzione -i
Questo sarà attivato quando la password di un utente selezionato è scaduta e l'utente non ha cambiato la sua password in 'n' numero di giorni (cioè 10 giorni). Dopo che l'utente non sarà in grado di accedere.
# passwd -i 10 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 7 10
Imposta giorni di avviso prima della scadenza della password
Opzione -w
viene utilizzato per impostare i giorni di avviso prima che a un utente venga ricordato di modificare la password. Significa che un utente verrà avvisato un numero di giorni prima della scadenza della sua password.
# passwd -w 5 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 0 99999 5 10
Imposta giorni minimi per modificare la password
Di seguito, l'utente di prova di esempio deve modificare la password in 30 giorni. Un valore pari a zero indica che l'utente può modificare la propria password in qualsiasi momento.
# passwd -n 30 test
passwd: password expiry information changed.
# passwd -S test
test P 07/03/2019 30 99999 5 10
Conclusione
In questo tutorial, abbiamo imparato come modificare la password dell'utente in Linux. Per ulteriori informazioni, dai un'occhiata alle pagine man del comando passwd. Grazie per aver letto questo articolo e fammi sapere se hai domande.
Leggi anche:
- Come trovare/modificare la password di root predefinita di Ubuntu
- Come aggiungere utenti ai sudoer in Linux