Como definir uma nova senha do bash?

2

Estou usando o busybox com uma senha limitada (não tenho a opção --stdin) e sem chpasswd e preciso alterar a senha de um usuário do bash. Aqui está o meu melhor resultado:

echo newpassword > pwdfile
echo newpassword > pwdfile
cat pwdfile | passwd myuser
Changing password for myuser
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Bad password: too simple.

Warning: weak password (continuing).
Re-enter new password:
passwd: The password for myuser is unchanged.
    
por michelemarcon 13.12.2011 / 14:42

1 resposta

2

O Busybox tem chpasswd(8) , que é um utilitário melhor usado para criar / atualizar muitos usuários muito rapidamente e com um comando. Aceita dados de STDIN in username:password form. Isso significa que você pode fazer algo assim:

$ cat pwdfile | chpasswd

ou

$ < pwdfile chpasswd

Observe que pwdfile deve ter a sintaxe username:new_password .

Então, novamente, você sempre pode editar /etc/shadow - mas, por favor, não faça isso.

    
por 13.12.2011 / 15:30