Da man chpasswd :
'Questo comando è destinato all'uso in un ambiente di sistema di grandi dimensioni in cui vengono creati molti account contemporaneamente.'
passwd è (nella mia esperienza) normalmente utilizzato in modo interattivo per un singolo utente.
Vedi le pagine man per entrambi:
NOME
chpasswd - aggiorna le password in modalità batch
SINOSSI
chpasswd[opzioni]
DESCRIZIONE
Il
chpasswdIl comando legge un elenco di coppie di nome utente e password dall'input standard e utilizza queste informazioni per aggiornare un gruppo di utenti esistenti. Ogni riga è del formato:
nome_utente:password
NOME
passwd - cambia la password dell'utente
SINOSSI
passwd[opzioni] [ACCEDI]
DESCRIZIONE
Il
passwdcomando cambia le password per gli account utente. Un utente normale può modificare solo la password del proprio account, mentre il superutente può modificare la password di qualsiasi account.passwdcambia anche il periodo di validità dell'account o della password associata.
In poche parole:
-
passwdcontrolla se lo STDIN (descrittore di file 0) è collegato al terminale, usandoisatty(0). In caso contrario,passwdsalverebbe, cioè puoi lavorare solo conpasswdinterattivamente -
chpasswd, d'altra parte, è progettato per leggere (nome utente e) password da STDIN ed è chiamato modalità batch (crea/aggiorna più credenziali utente contemporaneamente). Legge le password (in chiaro per impostazione predefinita) e i nomi utente da STDIN, forniti nel formatouser_name:password, con una nuova riga che separa le voci