Om du någonsin har fått ett meddelande om att ditt nya lösenord är för likt ditt gamla, kan du vara nyfiken på hur ditt Linux-system 'vet' att de är för mycket lika. Dagens SuperUser Q & A-inlägg ger en titt bakom den "magiska gardinen" på vad som händer för en nyfiken läsare.
Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning 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 lika varandra:
Jag försökte ändra ett användarlösenord på olika Linux-maskiner några 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. Betyder detta att när systemet kan jämföra det nya lösenordet för likhet med det gamla att det faktiskt sparas som klartext?
Hur vet ett Linux-system att lösenord är för lika varandra?
Svaret
SuperUser-bidragsgivaren slhck har svaret för oss:
Eftersom du måste ange både gamla och nya lösenord när du använder passwd kan de enkelt jämföras i klartext.
Ditt lösenord hashas verkligen när det äntligen lagras, men tills det händer kan verktyget där du anger ditt lösenord bara komma åt det direkt.
Detta är en funktion av PAM-system 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 gör det möjligt 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. De källkod har olika exempel på vad som kan kontrolleras, till exempel om ett lösenord är en palindrom eller vad redigeringsavståndet är mellan två ord. Tanken är att göra lösenorden mer motståndskraftiga mot ordlistaattacker.
Se pam_cracklib manpage för mer information.
Se till att läsa igenom resten av den livliga diskussionen på SuperUser via ämnetråden länkad nedan.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .