passwd
All'utente viene prima chiesta la propria password attuale, se presente. Questa password viene cifrata e confrontata con quella memorizzata. All'utente viene data solo una possibilità di inserire la password corretta. Il super utente salta questo passo in modo da poter modificare password dimenticate.
Dopo che la password è stata inserita, vengono controllati i parametri dell'invecchiamento delle password per verificare che l'utente possa modificarla in questo momento. In caso negativo passwd non fa cambiare la password ed esce.
All'utente viene quindi chiesto di inserire la nuova password due volte. Le due password sono confrontate e devono essere uguali affinché la password venga accettata.
Quindi viene misurata la complessità della password. In linea di massima le password dovrebbero contenere dai 6 agli 8 caratteri, includendovi uno o più caratteri da ciascuno dei seguenti insiemi:
Si deve fare attenzione a non inserire il carattere di cancellazione o di kill (azzeramento della riga). passwd non accetta password non sufficientemente complesse.
La sicurezza di una password dipende dalla forza dell'algoritmo e dalla dimensione della chiave utilizzata. Il metodo originale di cifratura del sistema UNIX si basa sull'algoritmo NBS DES. Adesso sono da preferisi metodi di cifratura più recenti (vedere ENCRYPT_METHOD). La dimensione della chiave dipende dall'aleatorietà della password indicata.
La compromissione di una password avviene normalmente a seguito di incuria nella scelta o nella gestione della password. Per questo motivo non si devono utilizzare password che appaiono nei dizionari o che devono essere scritte. La password non deve essere uno nome proprio, il numero della patente, la data di nascita o l'indirizzo. Uno qualunque di questi potrebbe essere indovinato per violare la sicurezza del sistema.
You can find advice on how to choose a strong password on http://en.wikipedia.org/wiki/Password_strength
Il comando passwd accetta le seguenti opzioni:
-a, --all
-d, --delete
-e, --expire
-h, --help
-i, --inactive INATTIVO
-k, --keep-tokens
-l, --lock
Notare che questo non disabilita l'account. L'utente può sempre accedere al sistema tramite altri token di autenticazione (ad esempio una chiave SSH). Per disabilitare l'account l'amministratore deve usare usermod --expiredate 1 (che imposta la data di scadenza al 2 gennaio 1970).
Gli utenti con password bloccata non la possono cambiare.
-n, --mindays MIN_GIORNI
-q, --quiet
-r, --repository REPOSITORY
-R, --root CHROOT_DIR
-S, --status
-u, --unlock
-w, --warndays AVVISO_GIORNI
-x, --maxdays MAX_GIORNI
Il controllo della complessità delle password varia da sistema a sistema. All'utente è caldamente consigliato si utilizzare una password che ritenga sufficientemente complessa.
Gli utenti possono non essere in grado di cambiare la propria password se NIS è abilitato ed essi non sono collegati al server NIS.
passwd utilizza PAM per autenticare gli utenti e per cambiare le loro password.
/etc/passwd
/etc/shadow
/etc/pam.d/passwd
Il comando passwd restituisce i seguenti valori:
chpasswd(8), passwd(5), shadow(5), usermod(8).