En cualquiera de las distribuciones de Red Hat, como Fedora, CentOS o RHEL, el comando mkpasswd
no incluye el mismo conjunto de conmutadores que la versión que normalmente se incluye con Debian / Ubuntu.
NOTA: El comando mkpasswd
es en realidad parte del expect
paquete y probablemente debería evitarse. Puede averiguar a qué paquete pertenece con cualquiera de estos comandos.
$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd
Ejemplo
$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386
Ambos métodos son superiores al uso rpm
ya que no es necesario instalar los paquetes para ubicarlos */mkpasswd
.
Soluciones alternativas
Para solucionar este problema, puede usar las siguientes líneas de Python o Perl para generar contraseñas SHA-512. Tenga en cuenta que estos son salados:
Python (> = 3.3)
$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'
-o guionizado-
$ 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 $ designa sha512. El soporte para este método de especificar el algoritmo depende del soporte en la función de biblioteca crypt (3) a nivel del sistema operativo (generalmente en libcrypt). No depende de la versión de Python.
Perl
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
En estos ejemplos, la contraseña es la cadena "contraseña" y la sal es "salesalt". Ambos ejemplos usan $ 6 $, lo que denota que desea que crypt use SHA-512.
sha1sum
?