Puoi usare i seguenti comandi per lo stesso:
Metodo 1 (md5, sha256, sha512)
openssl passwd -6 -salt xyz yourpass
Nota:superare -1
genererà una password MD5, -5
un SHA256 e -6
SHA512 (consigliato)
Metodo 2 (md5, sha256, sha512)
mkpasswd --method=SHA-512 --stdin
L'opzione --method
accetta md5
, sha-256
e sha-512
Metodo 3 (des, md5, sha256, sha512)
Come suggerito da @tink, possiamo aggiornare la password usando chpasswd
utilizzando:
echo "username:password" | chpasswd
Oppure puoi utilizzare la password crittografata con chpasswd
. Prima generalo usando questo:
perl -e 'print crypt("YourPasswd", "salt", "sha512"),"\n"'
Successivamente puoi utilizzare la password generata per aggiornare /etc/shadow
:
echo "username:encryptedPassWd" | chpasswd -e
La password crittografata possiamo anche usarla per creare un nuovo utente con questa password, ad esempio:
useradd -p 'encryptedPassWd' username
Su Ubuntu 12.04, c'è mkpasswd (dal pacchetto whois):Front-end con funzionalità avanzate per crypt(3)
mkpasswd -m sha-512 -S saltsalt -s <<< YourPass
Dove:
-m
=Calcolare la password utilizzando il metodo TYPE. Se TYPE è di aiuto, vengono stampati i metodi disponibili.-S
=sale usato.
Ad esempio
$ mkpasswd -m help
-s = Read password from stdin
Questa soluzione presenta i seguenti vantaggi:
- Niente di aggiuntivo da installare
- Non memorizza la password nella cronologia della tua shell
- Genera un sale casuale per te
- Utilizza un algoritmo di hashing moderno e potente, SHA-512
-
Richiede nuovamente la password per evitare errori.
$ python3 -c "from getpass import getpass; from crypt import *; \ p=getpass(); print('\n'+crypt(p, METHOD_SHA512)) \ if p==getpass('Please repeat: ') else print('\nFailed repeating.')"
Riferimenti
- Come creare una password con hash SHA-512 per /etc/shadow?
- SHA512 con sale