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.

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top