Red Hat डिस्ट्रोस जैसे कि फेडोरा, CentOS, या RHEL कमांड में से mkpasswd
किसी में भी स्विच का समान सेट शामिल नहीं है क्योंकि संस्करण आमतौर पर डेबियन / उबंटू के साथ शामिल है।
नोट: आदेश 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
।
समाधान
इसके आसपास काम करने के लिए आप SHA-512 पासवर्ड बनाने के लिए निम्नलिखित पायथन या पर्ल वन-लाइनर्स का उपयोग कर सकते हैं। ध्यान दें कि ये नमकीन हैं:
अजगर (> = 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)))'
अजगर (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 स्तर के क्रिप्ट (3) लाइब्रेरी फ़ंक्शन (आमतौर पर libcrypt) में समर्थन पर निर्भर है। यह अजगर संस्करण पर निर्भर नहीं है।
पर्ल
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/
इन उदाहरणों में पासवर्ड स्ट्रिंग "पासवर्ड" है और नमक "साल्टाल्ट" है। दोनों उदाहरण $ 6 $ का उपयोग कर रहे हैं जो दर्शाता है कि आप SHA-512 का उपयोग करना चाहते हैं।
sha1sum
?