Como posso atualizar uma senha sem digitar a senha duas vezes?

1

Eu efetivamente tenho um teclado sticky (máquina host para RDP para vCenter para console virtual), mas preciso atualizar a senha de uma VM que estou construindo.

Usando as ofertas de mídia do ambiente de resgate CentOS, posso chroot para o sistema instalado e executar passwd , mas depois de digitar a senha uma vez, inevitavelmente recebo um erro que os tokens de senha não correspondem. (Às vezes, digitar "passwd" ecoa de volta "passsswwdddd" ou similar na linha de comando).

Como posso atualizar a senha do root sem precisar digitá-la duas vezes?

Como não sei a senha, não posso ssh (o que eliminaria o problema do teclado) - portanto, usando um ambiente de recuperação e chroot .

    
por warren 17.03.2015 / 20:01

4 respostas

2

Você pode usar alguma forma de:

# echo "Th3P@ssw0rd" | passwd --stdin theUser

assumindo que sua versão do binário passwd suporta a opção --stdin .

    
por 17.03.2015 / 20:20
2

Eu uso este truque em scripts se um prompt interativo tiver que ser usado:

yourpass='My supersecret password'
$(echo $yourpass; echo $yourpass) | passwd username

Basicamente, atribua a senha a uma variável e use-a no seguinte comando.

    
por 17.03.2015 / 23:52
1

Tente este:

# echo 'root:PASSWORD' | chpasswd

Por favor, substitua PASSWORD pelo que você quiser. Funciona bem para mim no Suse Linux.

    
por 17.03.2015 / 23:30
1

Com base no comentário de Mark Plotnick,

vi passfile
usermod -p 'openssl passwd stdin < passfile' root
rm -f passfile

Isso lhe dá a oportunidade de editar o arquivo temporário e confirmar que você definiu a senha para o que você realmente acha que é. Também mantém a senha de qualquer histórico, etc.

    
por 18.03.2015 / 03:06