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