Qual é a diferença entre 'passwd' e 'chpasswd'?

11

Eu li a descrição desses comandos em um livro, passwd:

Changes the password for an existing user.

chpasswd:

Reads a file of login name and password pairs, and updates the passwords.

Parece que esses comandos estão fazendo os mesmos trabalhos. Existe uma diferença entre eles?

EDIT:

Eu quero aprender quando usá-los que arquivo (s) mudam. Eles mudam mesmo arquivo ou arquivo diferente? Se eles mudarem arquivo (s) diferente (s), quais são eles?

    
por metarose 16.02.2017 / 14:13

3 respostas

17

De man chpasswd :

'Este comando deve ser usado em um ambiente de sistema grande, onde muitas contas são criadas em uma única vez.'

passwd é (na minha experiência) normalmente usado interativamente para um único usuário.

    
por 16.02.2017 / 14:20
6

Veja man pages para os dois:

NAME

    chpasswd - update passwords in batch mode

SYNOPSIS

    chpasswd [options]

DESCRIPTION

    The chpasswd command reads a list of user name and password pairs from standard input and uses this information to update a group of existing users.  Each line is of the format:

       user_name:password

NAME

    passwd - change user password

SYNOPSIS

    passwd [options] [LOGIN]

DESCRIPTION

    The passwd command changes passwords for user accounts.  A normal user may only change the password for his/her own account, while the superuser may change the password for any account.  passwd also changes the account or associated password validity period.
    
por 16.02.2017 / 14:26
4

Em poucas palavras:

  • passwd verifica se o STDIN (descritor de arquivo 0) está conectado ao terminal, usando isatty(0) . Se não, passwd iria resgatar, ou seja, você só pode trabalhar com passwd interativamente

  • chpasswd , por outro lado, foi projetado para ler (nome de usuário e) senha de STDIN e é chamado de modo em lote (cria / atualiza várias credenciais de usuário de uma só vez). Ele lê a (s) senha (s) (em texto claro por padrão) e o (s) nome (s) de usuário de STDIN, dado no formato user_name:password , com nova linha separando as entradas

por 17.02.2017 / 05:46