Em qualquer uma das distros da Red Hat, como Fedora, CentOS ou RHEL, o comando mkpasswd
não inclui o mesmo conjunto de opções da versão normalmente incluída no Debian / Ubuntu.
NOTA: O comando mkpasswd
é realmente parte do expect
pacote e provavelmente deve ser evitado. Você pode descobrir a qual pacote ele pertence com um desses comandos.
$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd
Exemplo
$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386
Ambos os métodos são superiores ao uso, rpm
pois os pacotes não precisam ser instalados para serem localizados */mkpasswd
.
Soluções alternativas
Para contornar isso, você pode usar os seguintes linux de Python ou Perl para gerar senhas SHA-512. Observe que estes são salgados:
Python (> = 3.3)
$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'
- ou com script -
$ python -c 'import crypt; print(crypt.crypt("somesecret", crypt.mksalt(crypt.METHOD_SHA512)))'
Python (2.x ou 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. O suporte para esse método de especificação do algoritmo depende do suporte na função da biblioteca crypt (3) no nível do SO (geralmente na libcrypt). Não depende da versão python.
Perl
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
Nestes exemplos, a senha é a string "password" e o salt é "saltsalt". Ambos os exemplos estão usando $ 6 $, o que indica que você deseja que a criptografia use o SHA-512.
sha1sum
?