Pada salah satu distro Red Hat seperti Fedora, CentOS, atau RHEL perintah mkpasswd
tidak menyertakan set switch yang sama seperti versi yang biasanya disertakan dengan Debian / Ubuntu.
CATATAN: Perintah mkpasswd
ini sebenarnya bagian dari expect
paket, dan mungkin harus dihindari. Anda dapat mengetahui paket miliknya dengan salah satu dari perintah ini.
$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd
Contoh
$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386
Kedua metode ini lebih unggul daripada menggunakan rpm
karena paket tidak harus diinstal untuk mencari */mkpasswd
.
Penanganan masalah
Untuk mengatasinya, Anda dapat menggunakan Python atau Perl one-liners berikut untuk menghasilkan kata sandi SHA-512. Perhatikan bahwa ini asin:
Python (> = 3.3)
$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'
-atau dituliskan-
$ python -c 'import crypt; print(crypt.crypt("somesecret", crypt.mksalt(crypt.METHOD_SHA512)))'
Python (2.x atau 3.x)
$ python -c "import crypt, getpass, pwd; \
print(crypt.crypt('password', '\$6\$saltsalt\$'))"
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
Catatan: $ 6 $ menunjuk sha512. Dukungan untuk metode ini menentukan algoritma tergantung pada dukungan dalam fungsi perpustakaan crypt (3) tingkat OS (biasanya dalam libcrypt). Itu tidak tergantung pada versi python.
Perl
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
Dalam contoh-contoh ini kata sandi adalah string "kata sandi" dan garamnya adalah "saltsalt". Kedua contoh menggunakan $ 6 $ yang menunjukkan bahwa Anda ingin crypt menggunakan SHA-512.
sha1sum
?