É 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
ousudo
para seu " alterar outro usuário ' senha " exemplo para funcionar? - Apenas
root
pode usarpasswd username
para um usuário diferente. Quando você executapasswd
(semusername
) já queroot
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
sepasswd
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.