¿Cómo cambiar una contraseña de usuario en un guión con busybox y openssl?
-
20-09-2019 - |
Pregunta
I necesidad de sincronizar una cuenta de usuario y la contraseña a una fuente externa en un sistema con busybox y openssl instalado. Cuando la fuente externa dice que mi sistema para actualizar las credenciales, ¿cómo cambio la contraseña del usuario en un guión? Voy a tener la contraseña en texto plano.
Esto tiene que ser automatizado, y por lo que puedo decir passwd busybox es interactivo y yo particularmente no quiere escribir un guión de tipo esperar para passwd si eso es posible. Parece que openssl puede generar hashes de contraseñas ( openssl passwd -1 -sal "ABCDEFGH" {password} ), pero voy a tener que modificar el archivo / etc / shadow directamente?
estos los comandos disponibles.
Solución
Puede escribir un pequeño script como el siguiente para actualizar la contraseña. Poner el texto siguiente en un archivo y ejecutarlo. Se va a cambiar su contraseña.
#! / Bin / sh
passwd << EOF
EOF
Otros consejos
Resulta que las versiones actuales de busybox tener chpasswd ( código fuente ). chpasswd toma un nombre de usuario par de colon delimitado: contraseña en la entrada estándar. No sé si puedo actualizar el busybox en mi sistema, pero voy a dejar esta respuesta en caso de que alguien viene a buscar.
A partir de la documentación busybox:
chpasswd
chpasswd [--md5|--encrypted]
Read user:password from stdin and update /etc/passwd
Options:
-e,--encrypted Supplied passwords are in encrypted form
-m,--md5 Use MD5 encryption instead of DES