Il requisito qui è che l'utente non debba utilizzare nuovamente le ultime 10 password utilizzate durante l'impostazione di una nuova password. Se l'utente tenta di impostare una password che è stata utilizzata nelle ultime 10 volte, otterrebbe un errore mostrato di seguito:
Changing password for user test. New UNIX password: Retype new UNIX password: Password has been already used. passwd: all authentication tokens updated successfully.
Questa è una misura di sicurezza che assicura che le password non vengano violate poiché l'utente continua a impostare nuove password ogni volta che sono scadute. Segui i passaggi seguenti per impostare questa restrizione sulle password.
1. Modifica il file /etc/pam.d/system-auth tale da includere il modulo pam pam_pwhistory dopo la prima occorrenza della riga richiesta password :
# cat /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= password requisite pam_pwhistory.so debug use_authtok remember=10 retry=3 password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so
2. Ora prova a cambiare la password di un utente.
# passwd test [Enter already used password]
Ora vedresti che il sistema genererebbe un errore dicendo che la password è già stata utilizzata in passato.
Changing password for user test. New UNIX password: Retype new UNIX password: Password has been already used. passwd: all authentication tokens updated successfully.