Linux รู้ได้อย่างไรว่ารหัสผ่านใหม่คล้ายกับรหัสผ่านเก่า
หากคุณเคยได้รับข้อความว่ารหัสผ่านใหม่ของคุณนั้นคล้ายกับรหัสผ่านเก่าของคุณคุณอาจสงสัยว่าระบบ Linux ของคุณ 'รู้' รหัสเหล่านั้นเหมือนกันมากเกินไป โพสต์ SuperUser Q & A โพสต์ในวันนี้ให้มองหลังม่านมายากลในสิ่งที่เกิดขึ้นสำหรับผู้อ่านอยากรู้อยากเห็น.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
มารยาทภาพหน้าจอของ marc falardeau (Flickr).
คำถาม
ผู้อ่าน SuperUser LeNoob ต้องการทราบว่าระบบ Linux 'รู้' ว่ารหัสผ่านคล้ายกันเกินไป:
ฉันพยายามเปลี่ยนรหัสผ่านผู้ใช้บนเครื่องลีนุกซ์หลายครั้งและเมื่อรหัสผ่านใหม่เหมือนของเก่าระบบปฏิบัติการบอกว่าพวกเขาเหมือนกันมากเกินไป.
ฉันสงสัยอยู่เสมอว่าระบบปฏิบัติการรู้ได้อย่างไร ฉันคิดว่ารหัสผ่านถูกบันทึกเป็นแฮช นี่หมายความว่าเมื่อระบบสามารถเปรียบเทียบรหัสผ่านใหม่สำหรับความคล้ายคลึงกับรหัสเก่าที่บันทึกจริงเป็นข้อความธรรมดา?
ระบบ Linux รู้ได้อย่างไรว่ารหัสผ่านนั้นคล้ายกันเกินไป?
คำตอบ
ผู้สนับสนุน SuperUser slhck มีคำตอบสำหรับเรา:
เนื่องจากคุณต้องระบุทั้งรหัสผ่านเก่าและใหม่เมื่อใช้รหัสผ่านจึงสามารถเปรียบเทียบได้อย่างง่ายดายในข้อความธรรมดา.
รหัสผ่านของคุณจะถูกแฮชอย่างแน่นอนเมื่อมันถูกเก็บไว้ในที่สุด แต่จนกว่าจะเกิดขึ้นเครื่องมือที่คุณป้อนรหัสผ่านของคุณสามารถเข้าถึงได้โดยตรง.
นี่คือคุณสมบัติของระบบ PAM ที่ใช้ในพื้นหลังของเครื่องมือ passwd PAM ถูกใช้โดยลีนุกซ์รุ่นใหม่ โดยเฉพาะอย่างยิ่ง pam_cracklib เป็นโมดูลสำหรับ PAM ที่อนุญาตให้ปฏิเสธรหัสผ่านตามความเหมือนและจุดอ่อน.
มันไม่ได้เป็นเพียงรหัสผ่านที่คล้ายกันมากเกินไปที่อาจถือว่าไม่ปลอดภัย ซอร์สโค้ดมีตัวอย่างมากมายของสิ่งที่สามารถตรวจสอบได้เช่นว่ารหัสผ่านเป็น palindrome หรือระยะแก้ไขคืออะไรระหว่างสองคำ แนวคิดคือการทำให้รหัสผ่านทนต่อการโจมตีของพจนานุกรมได้มากขึ้น.
ดู pam_cracklib manpage สำหรับข้อมูลเพิ่มเติม.
อย่าลืมอ่านส่วนที่เหลือของการสนทนาที่มีชีวิตชีวาที่ SuperUser ผ่านทางหัวข้อกระทู้ที่ลิงค์ด้านล่าง.
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.