Come si fa a cambiare una password utente in uno script con busybox e openssl?
-
20-09-2019 - |
Domanda
Ho bisogno di sincronizzare un account utente e una password per una sorgente esterna su un sistema con busybox e OpenSSL installato. Quando la sorgente esterna dice il mio sistema per aggiornare le credenziali, come faccio a cambiare la password dell'utente in uno script? Avrò la password in chiaro.
Questo deve essere automatizzato, e da quello che posso dire busybox passwd è interattivo e io non particolarmente vuole scrivere uno script aspetta-tipo per passwd, se questo è ancora possibile. Sembra che OpenSSL in grado di generare gli hash delle password ( OpenSSL passwd -1 -sale "abcdefgh" {parola} ), ma devo modificare / etc / shadow direttamente?
questi comandi disponibili.
Soluzione
È possibile scrivere un piccolo script come questo per aggiornare la password. Mettere il seguente testo in un file ed eseguirlo. Cambierà la password.
#! / Bin / sh
passwd << EOF
EOF
Altri suggerimenti
Risulta attuali versioni di busybox avere chpasswd ( codice sorgente ). chpasswd prende una coppia nome utente separati da virgole: password su stdin. Non so se posso aggiornare il busybox sul mio sistema, ma lascio questa risposta nel caso in cui qualcun altro viene a cercare.
Dalla documentazione 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