Hur vet Linux att ett nytt lösenord liknar den gamla?
Om du någonsin fått ett meddelande om att ditt nya lösenord är för likt ditt gamla, kanske du är nyfiken på hur ditt Linux-system "vet" att de är för mycket lika. Dagens SuperUser Q & A-post ger en titt bakom "magisk gardin" på vad som händer för en nyfiken läsare.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Skärmdump med tillstånd av marc falardeau (Flickr).
Frågan
SuperUser-läsare LeNoob vill veta hur ett Linux-system vet "att lösenord är för liknar varandra:
Jag försökte ändra ett användarlösenord på olika Linux-maskiner ett par gånger och när det nya lösenordet var ungefär som det gamla, sa operativsystemet att de var för lika.
Jag har alltid undrat, hur vet operativsystemet detta? Jag trodde att lösenord sparades som en hash. Betecknar detta att när systemet kan jämföra det nya lösenordet för likhet med det gamla som det faktiskt sparas som vanlig text?
Hur vet ett Linux-system att lösenord är för lika med varandra?
Svaret
SuperUser-bidragaren slhck har svaret för oss:
Eftersom du behöver leverera både gamla och nya lösenord när du använder passwd, kan de enkelt jämföras i vanlig text.
Ditt lösenord är faktiskt hashed när det äntligen lagras, men tills det händer kan verktyget där du anger ditt lösenord bara få åtkomst till det direkt.
Detta är en egenskap hos PAM-systemet som används i bakgrunden av passwd-verktyget. PAM används av moderna Linux-distributioner. Mer specifikt är pam_cracklib en modul för PAM som tillåter den att avvisa lösenord baserat på likheter och svagheter.
Det är inte bara lösenord som är för lika som kan betraktas som osäkra. Källkoden har olika exempel på vad som kan kontrolleras, till exempel om ett lösenord är ett palindrom eller vad redigeringsavståndet är mellan två ord. Tanken är att göra lösenorden mer resistenta mot ordbordsattacker.
Se pam_cracklib manpage för mer information.
Se till att läsa igenom resten av den livliga diskussionen på SuperUser via ämnesgängan som länkas nedan.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.