ใน Redros distros ใด ๆ เช่น Fedora, CentOS หรือ RHEL คำสั่งmkpasswd
จะไม่รวมชุดสวิตช์ชุดเดียวกันกับรุ่นที่มาพร้อมกับ Debian / Ubuntu
หมายเหตุ:คำสั่งmkpasswd
นั้นเป็นส่วนหนึ่งของexpect
แพ็คเกจและควรหลีกเลี่ยง คุณสามารถค้นหาแพ็คเกจที่เป็นของคำสั่งเหล่านี้
$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd
ตัวอย่าง
$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386
ทั้งสองวิธีการเหล่านี้จะดีกว่าใช้ตั้งแต่แพคเกจจะได้ไม่ต้องมีการติดตั้งในการค้นหาrpm
*/mkpasswd
วิธีการแก้ปัญหา
ในการแก้ไขปัญหานี้คุณสามารถใช้ Python หรือ Perl one-liners ต่อไปนี้เพื่อสร้างรหัสผ่าน SHA-512 พึงระลึกไว้ว่าสิ่งเหล่านี้มีความเค็ม:
Python (> = 3.3)
$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'
- หรือสคริปต์ -
$ python -c 'import crypt; print(crypt.crypt("somesecret", crypt.mksalt(crypt.METHOD_SHA512)))'
Python (2.x หรือ 3.x)
$ python -c "import crypt, getpass, pwd; \
print(crypt.crypt('password', '\$6\$saltsalt\$'))"
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
หมายเหตุ: $ 6 $ กำหนด sha512 การสนับสนุนสำหรับวิธีการระบุอัลกอริทึมนี้ขึ้นอยู่กับการรองรับใน OS ระดับ crypt (3) ฟังก์ชั่นห้องสมุด (โดยปกติจะเป็น libcrypt) มันไม่ได้ขึ้นอยู่กับเวอร์ชันของงูหลาม
Perl
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
ในตัวอย่างเหล่านี้รหัสผ่านคือสตริง "รหัสผ่าน" และเกลือคือ "saltsalt" ตัวอย่างทั้งสองใช้$ 6 $ซึ่งหมายถึงว่าคุณต้องการฝังศพใต้ถุนโบสถ์เพื่อใช้ SHA-512
sha1sum
เหรอ