Eu li a descrição desses comandos em um livro,
passwd:
Altera a senha de um usuário existente.
chpasswd:
Lê um arquivo de pares de nome e senha de login e atualiza as senhas.
Parece que esses comandos estão fazendo os mesmos trabalhos. Existe alguma diferença entre eles?
EDITAR:
Quero saber quando os usamos quais arquivos são alterados. Eles mudam o mesmo arquivo ou arquivo diferente? Se eles mudarem arquivos diferentes, o que são?
/etc/passwordcontém informações da conta do usuário./etc/shadowcontém senhas criptografadas. Acredito que esses são os únicos arquivos relevantes. Você pode alterar uma senha editando manualmente esses arquivos, mas seria muito estranho.