Su qualsiasi distribuzione Red Hat come Fedora, CentOS o RHEL il comando mkpasswd
non include lo stesso set di opzioni della versione generalmente inclusa in Debian / Ubuntu.
NOTA: il comando mkpasswd
fa effettivamente parte del expect
pacchetto e probabilmente dovrebbe essere evitato. Puoi scoprire a quale pacchetto appartiene con uno di questi comandi.
$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd
Esempio
$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386
Entrambi questi metodi sono superiori all'utilizzo rpm
poiché i pacchetti non devono essere installati per individuare */mkpasswd
.
soluzioni alternative
Per ovviare a questo problema, puoi utilizzare le seguenti linee guida Python o Perl per generare password SHA-512. Si noti che questi sono salati:
Python (> = 3.3)
$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'
-o programmato-
$ python -c 'import crypt; print(crypt.crypt("somesecret", crypt.mksalt(crypt.METHOD_SHA512)))'
Python (2.xo 3.x)
$ python -c "import crypt, getpass, pwd; \
print(crypt.crypt('password', '\$6\$saltsalt\$'))"
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
Nota: $ 6 $ indica sha512. Il supporto per questo metodo per specificare l'algoritmo dipende dal supporto nella funzione di libreria crypt (3) a livello di sistema operativo (di solito in libcrypt). Non dipende dalla versione di Python.
Perl
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
In questi esempi la password è la stringa "password" e il sale è "saltsalt". Entrambi gli esempi utilizzano $ 6 $, il che indica che si desidera che crypt usi SHA-512.
sha1sum
?