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
chpasswd
Il 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
passwd
comando 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.passwd
cambia anche il periodo di validità dell'account o della password associata.
In poche parole:
-
passwd
controlla se lo STDIN (descrittore di file 0) è collegato al terminale, usandoisatty(0)
. In caso contrario,passwd
salverebbe, cioè puoi lavorare solo conpasswd
interattivamente -
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