Es bastante fácil cambiar otra contraseña de usuario mediante un script bash – solo haz echo newpw | passwd username
y bam, ya está. Pero, ¿qué hay de cambiar su contraseña mediante bash? echo newpw | passwd username
no funciona porque le solicita su contraseña actual antes de permitirle ingresar su nueva contraseña.
Comentarios
- ¿Tenía que usar
su
osudo
para su " ¿Cambiar otro usuario ' contraseña " para que funcione? - Solo
root
puede usarpasswd username
para un usuario diferente. Cuando ejecutapasswd
(sinusername
) comoroot
no solicita la contraseña anterior (en mi sistema Ubuntu 19.10). - Yah – estaba haciendo
sudo
. La pregunta sigue en pie jajaja - Entonces, ¿tenía que ingresar su contraseña para
sudo
para cambiar la contraseña de otro usuario ' s? - Bueno, asígnele la contraseña actual,
{ sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd
. Usa... | script -c passwd /dev/null
sipasswd
quiere leer desde un tty. Pero realmente no debería ' hacer eso. Mejor di lo que ' estás tratando de lograr.
Responder
Si desea cambiar la contraseña del usuario actual, esto también debería funcionar:
echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd
Responder
Podría usar chpasswd .
sudo chpasswd <<<"neubert:newpass"
Respuesta
Eso no funcionará con ninguna configuración a medias razonable. Solo el root puede cambiar las contraseñas de otros usuarios a través de passwd user
(debería solicitar la nueva contraseña). Para cambiar su propia contraseña, haga passwd
, debe solicitar la contraseña actual y luego pedir la nueva (y confirmación).
Permitir cualquier usuario aleatorio cambiar las contraseñas de otros es un problema de seguridad enorme .