alterando * sua * senha do Linux por meio de um script bash

É fácil alterar outra senha de usuário por meio de um script bash – basta fazer echo newpw | passwd username e bam, pronto. Mas e quanto a alterar sua senha via bash? echo newpw | passwd username não funciona porque solicita sua senha atual antes de permitir que você insira sua nova senha.

Comentários

  • Você teve que usar su ou sudo para seu " alterar outro usuário ' senha " exemplo para funcionar?
  • Apenas root pode usar passwd username para um usuário diferente. Quando você executa passwd (sem username) já que root não pede a senha antiga (no meu sistema Ubuntu 19.10).
  • Sim – eu estava fazendo sudo. A pergunta ainda permanece, lol
  • Então você teve que inserir sua senha para sudo para alterar a senha de outro usuário ' s?
  • Bem, forneça a senha atual então, { sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd . Use ... | script -c passwd /dev/null se passwd quiser ler de um tty. Mas você realmente não deveria ' não estar fazendo isso. Melhor dizer o que você ' está tentando alcançar.

Resposta

Se você deseja alterar a senha do usuário atual, isso também deve servir:

echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd 

Resposta

Você pode usar chpasswd .

sudo chpasswd <<<"neubert:newpass" 

Resposta

Isso não funcionará com nenhuma configuração razoável. Somente o root pode alterar as senhas de outros usuários via passwd user (ele deve solicitar a nova senha). Para alterar sua própria senha, faça passwd, ele deve solicitar a senha atual e, em seguida, solicitar a nova (e confirmação).

Permitindo qualquer usuário aleatório alterar as senhas de outras pessoas é um enorme problema de segurança.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *