Desde man chpasswd
:
'Este comando está diseñado para usarse en un entorno de sistema grande donde se crean muchas cuentas a la vez.'
passwd
(según mi experiencia) normalmente se usa de forma interactiva para un solo usuario.
Consulte las páginas man de ambos:
NOMBRE
- chpasswd - actualizar contraseñas en modo por lotes
SINOPSIS
chpasswd
[opciones]
DESCRIPCIÓN
- El
chpasswd
El comando lee una lista de pares de nombre de usuario y contraseña de la entrada estándar y usa esta información para actualizar un grupo de usuarios existentes. Cada línea tiene el formato:
nombre_usuario:contraseña
NOMBRE
- passwd - cambiar contraseña de usuario
SINOPSIS
passwd
[opciones] [INICIAR SESIÓN]
DESCRIPCIÓN
- El
passwd
El comando cambia las contraseñas de las cuentas de usuario. Un usuario normal solo puede cambiar la contraseña de su propia cuenta, mientras que el superusuario puede cambiar la contraseña de cualquier cuenta. passwd
también cambia el período de validez de la cuenta o la contraseña asociada.
En pocas palabras:
-
passwd
comprueba si el STDIN (descriptor de archivo 0) está conectado al terminal, usandoisatty(0)
. Si no,passwd
se rescataría, es decir, solo puede trabajar conpasswd
interactivamente -
chpasswd
, por otro lado, está diseñado para leer (nombre de usuario y) contraseña de STDIN, y se denomina modo por lotes (crea/actualiza varias credenciales de usuario a la vez). Lee la(s) contraseña(s) (en texto sin cifrar de forma predeterminada) y el(los) nombre(s) de usuario de STDIN, dados en el formatouser_name:password
, con nueva línea separando las entradas