फेडोरा 19 पर
जब मैं इसे चलाता हूं तो मुझे ओके मिलता है। मैं फेडोरा 19 पर हूं।
$ echo 'M1uG*xgRCthKWwjIjWc*010iSthY9buc' | cracklib-check
M1uG*xgRCthKWwjIjWc*010iSthY9buc: OK
यहाँ संस्करण की जानकारी है:
$ rpm -qfi /usr/sbin/cracklib-check | grep -E "Version|Release"
Version : 2.8.22
Release : 3.fc19
नोट: मैं इसे डबल क्यूट्स के बजाय सिंगल कोट्स के साथ आज़माऊंगा, क्योंकि आप *
उनके साथ अजीब तरीके से काम कर रहे हैं।
सेंटोस 5 और 6
CentOS 6 पर अपने उदाहरण की कोशिश करना ठीक था, ठीक मिला, लेकिन यह असफल रहा जैसा आपने CentOS 5.9 पर बताया था।
$ echo 'M1uG*xgRCthKWwjIjWc*010iSthY9buc' | cracklib-check
M1uG*xgRCthKWwjIjWc*010iSthY9buc: it is too simplistic/systematic
संस्करण की जानकारी:
$ rpm -qfi /usr/sbin/cracklib-check | grep -E "Version|Release"
Version : 2.8.9
Release : 3.3
एक दोष?
क्या आप में ठोकर खाई है एक बग प्रतीत होता है। यदि आप अपनी स्ट्रिंग लेते हैं और अपनी स्ट्रिंग के अधिक से अधिक भाग लेते हैं, तो आप cracklib-check
देखेंगे कि जब आप 26 वें वर्ण में आते हैं तो यह विफल होने लगता है:
# 25
$ cracklib-check <<<"M1uG*xgRCthKWwjIjWc*010iS"
M1uG*xgRCthKWwjIjWc*010iS: OK
# 26
$ cracklib-check <<<"M1uG*xgRCthKWwjIjWc*010iSt"
M1uG*xgRCthKWwjIjWc*010iSt: it is too simplistic/systematic
इस पर गहराई से खुदाई करें अगर मैं अंतिम चरित्र को एक t
से कहूं तो v
यह काम करना जारी रखता है।
$ cracklib-check <<<"M1uG*xgRCthKWwjIjWc*010iSvhY9b"
M1uG*xgRCthKWwjIjWc*010iSvhY9b: OK
तो ऐसा लगता है कि के संस्करण में cracklib-check
प्रतिस्थापन पर लटका हुआ है Sth
।
आपके द्वारा प्रदान किए गए स्ट्रिंग के विखंडू के बारे में निश्चित रूप से कुछ अजीब है। यदि मैं पूंछ के अंत का टुकड़ा लेता हूं और सामने वाले हिस्से को छोड़ देता हूं तो मुझे यह भाग असफल हो सकता है।
$ cracklib-check <<<"jIjc*010Sth"
jIjc*010Sth: it is too simplistic/systematic
यही तार फेडोरा 19 और CentOS 6 पर भी मुद्दों का कारण बनता है!
अद्यतन # 1
@ वैक्सविंग के बहुत ही अच्छे स्लीथिंग के आधार पर , अब हम जानते हैं कि इस्तेमाल किया जा रहा हेरफेर हो रहा था अगर 4 वर्ण एक दूसरे से सटे हुए थे। एक पैच पेश किया गया था जिसने इस अनुमान को बदल दिया ताकि इन झूठी सकारात्मकता को खत्म करने के लिए विचार के तहत पासवर्ड की समग्र लंबाई को ध्यान में रखा गया।
निष्कर्ष?
मेरे कुछ सीमित परीक्षण के आधार पर ऐसा प्रतीत होता है कि यहाँ खेलने के दौरान कुछ अजीब तरह के लक्षण मौजूद हैं। निश्चित रूप से ठीक होने वाले कुछ तार इसे तीन गुना कर रहे हैं।
यदि आप इसे संहिताबद्ध करने का प्रयास कर रहे हैं, तो मैं सुझाव दूंगा कि किसी पासवर्ड की पीढ़ी और मूल्यांकन को लपेटना और फिर एक बार एक ऐप जनरेट होने के बाद लूप से बाहर निकलना cracklib-check
।
या बहुत कम से कम मैं एक नए संस्करण में अपग्रेड करने का सुझाव दूंगा जिसमें उनके उत्तर में @maxwing उल्लेखों को शामिल करना शामिल है।
पासवर्ड जनरल विकल्प
pwgen
मैं यह भी जोड़ूंगा कि मैं आमतौर पर pwgen
पासवर्ड बनाने के लिए उपयोग करता हूं । जो आपके लिए यहाँ भी सहायक हो सकता है।
$ pwgen -1cny 32
iWu0iPh8aena9raSoh{v6me)eh:eu6Ei
urandom
तुम भी साथ एक छोटी सी पटकथा जादू का उपयोग कर सकते tr
, /dev/urandom
और fold
एक अत्यंत उच्च गुणवत्ता यादृच्छिक पासवर्ड प्राप्त करने के लिए।
$ tr -dc '[:graph:]' </dev/urandom | fold -w 32 | head -n 1
;>$7\`Hl$=zn}R.b3h/uf7mY54xp}zSF
fold
आदेश लंबाई को नियंत्रित कर सकते हैं। एक विकल्प के रूप में आप यह भी कर सकते हैं:
$ echo $(tr -dc '[:graph:]' </dev/urandom | head -c 32)
/_U>s[#_eLKAl(mrE@oo%X~/pcg$6-kr
M1uG*xgRCthKWwjIjWc*010iSthY9buc: OK