PASSWD(1)

NOME
passwd - cambia la password utente

SINOSSI

passwd [opzioni] [LOGIN]

DESCRIZIONE

passwd cambia la password per account utente. Un utente normale può solo cambiare la password per il proprio account, mentre il super utente può cambiarla per qualsiasi account. passwd modifica anche l'account o il periodo di validità della password associata.

  Modifiche delle password

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:

    • lettere minuscole

    • numeri da 0 a 9

    • segni di punteggiatura

Si deve fare attenzione a non inserire il carattere di cancellazione o di kill (azzeramento della riga). passwd non accetta password non sufficientemente complesse.

  Suggerimenti per password utente

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.

Si possono trovare indicazioni su come scegliere una password forte su http://en.wikipedia.org/wiki/Password_strength

OPZIONI

Il comando passwd accetta le seguenti opzioni:

-a, --all
    Questa opzione può essere utilizzata solo con -S e mostra lo stato per ogni utente.

-d, --delete
    Cancella la password utente (la rende vuota). Questo è un metodo veloce per disabilitare la password per l'account. Imposta l'account indicato come senza password.

-e, --expire
    Fa scadere subito la password dell'utente. Il che ha l'effetto di forzare un cambio password al successivo accesso da parte dell'utente.

-h, --help
    Mostra un messaggio di aiuto ed esce.

-i, --inactiveINATTIVO
    Questa opzione viene utilizzata per disabilitare un account dopo che la password è scaduta da un certo numero di giorni. Dopo che un account ha una password che è scaduta da INATTIVO giorni, l'utente non può più accedere con l'account.

-k, --keep-tokens
    Indica che il cambio password va effettuato solo per i token (password) di autenticazione scaduti. L'utente vuole mantenere inalterati i token non scaduti.

-l, --lock
    Blocca la password dell'account indicato. Questa opzione disabilita una password modificandola in modo che non corrisponda a nessun valore cifrato (aggiunge un «!» all'inizio della password).

    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, --mindaysMIN_GIORNI
    Imposta il numero minimo di giorni tra i cambi di password a MIN_GIORNI. Un valore pari a zero indica che l'utente può cambiare la propria password in qualsiasi momento.

-q, --quiet
    Modalità silenziosa.

-r, --repositoryREPOSITORY
    cambia la password nel repository REPOSITORY

-R, --root CHROOT_DIR
    Effettua le modifiche nella directory CHROOT_DIR e usa i file di configurazione dalla directory CHROOT_DIR.

-S, --status
    Visualizza le informazioni sullo stato di un account. Lo stato consiste di 7 campi. Il primo campo è il nome dell'utente. Il secondo campo indica se l'account ha una password bloccata (L), non ha password (NP) o ha una password valida (P). Il terzo campo contiene la data di ultima modifica della password. I successivi quattro campi sono l'età minima, la massima, il periodo di avviso e quello di inattività. Queste età sono espresse in giorni.

-u, --unlock
    Sblocca la password dell'account indicato. Questa opzione riabilita la password riportandola al suo valore precedente (il valore che c'era prima di usare l'opzione -l).

-w, --warndaysAVVISO_GIORNI
    Imposta il numero di giorni di preavviso prima che sia obbligatorio cambiare la password. L'opzione AVVISO_GIORNI indica il numero di giorni precedenti alla scadenza della password durante i quali l'utente viene avvertito dell'imminente scadenza.

-x, --maxdaysMAX_GIORNI
    Imposta il massimo numero di giorni che una password rimane valida. Dopo MAX_GIORNI viene richiesto di cambiare la password.

AVVISI/CAVEAT

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.

CONFIGURAZIONE

Le seguenti variabili di configurazione in /etc/login.defs cambiano il comportamento di questo strumento:

ENCRYPT_METHOD (testo)
    Definisce l'algoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando).

    Può avere uno dei seguenti valori: DES (predefinito), MD5, SHA256, SHA512.

    Nota: questo parametro ha la precedenza sulla variabile MD5_CRYPT_ENAB.

MD5_CRYPT_ENAB (booleano)
    Indica se le password vanno cifrate usando l'algoritmo basato su MD5. Se impostato a yes le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni più recenti di FreeBSD. Supporta password di lunghezza qualsiasi e testi «salt» più lunghi. Impostare a no se si devono copiare password su altri sistemi che non gestiscono l'algoritmo. Il valore predefinito è no.

    Questa variabile ha meno priorità della variabile ENCRYPT_METHOD e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura.

    Questa variabile non è più usata. Si dovrebbe utilizzare ENCRYPT_METHOD.

OBSCURE_CHECKS_ENAB (booleano)
    Abilita controlli addizionali durante il cambio password.

PASS_ALWAYS_WARN (booleano)
    Avvisa riguardo password deboli (anche se le permette egualmente) se si è root.

PASS_CHANGE_TRIES (numerico)
    Massimo numero di tentativi per cambiare una password (troppo facile).

PASS_MAX_LEN (numerico), PASS_MIN_LEN (numerico)
    Numero di caratteri significativi della password per crypt(). PASS_MAX_LEN è normalmente 8. Da non cambiare a meno che la propria crypt() sia migliore. Questo viene ignorato se MD5_CRYPT_ENAB è impostata a yes.

SHA_CRYPT_MIN_ROUNDS (numerico), SHA_CRYPT_MAX_ROUNDS (numerico)
    Quando ENCRYPT_METHOD vale SHA256 o SHA512, questo definisce il numero di cicli SHA usati per l'algoritmo di cifratura (quando il numero di cicli non è impostato a riga di comando).

    Con molti cicli è più difficile trovare una password usando la forza bruta. Ma va notato che è richiesta maggiore potenza di calcolo per autenticare gli utenti.

    Se non specificato sarà la libc a scegliere il numero di cicli (5000).

    Il valore deve essere compreso tra 1.000 e 999.999.999.

    Se viene impostato solo uno tra SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS, allora l'unico valore viene utilizzato.

    Se SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, allora viene utilizzato il maggiore.

FILE

/etc/passwd
    Informazioni sugli account utente.

/etc/shadow
    Informazioni sicure sugli account utente.

/etc/login.defs
    Configurazione del pacchetto password shadow

VALORI RESTITUITI

Il comando passwd restituisce i seguenti valori:

VEDERE ANCHE

chpasswd(8), passwd(5), shadow(5), login.defs(5),usermod(8).