Hvordan vet Linux at et nytt passord er lik den gamle?
Hvis du noen gang har mottatt en melding om at ditt nye passord er for likt det gamle, kan du være nysgjerrig på hvordan ditt Linux-system vet "at de er for mye like." Dagens SuperUser Q & A innlegg gir en titt bak "magisk gardin" på hva som skjer for en nysgjerrig leser.
Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.
Skjermbilde høflighet av marc falardeau (Flickr).
Spørsmålet
SuperUser-leser LeNoob vil vite hvordan et Linux-system "vet" at passordene er for likte hverandre:
Jeg prøvde å endre et brukerpassord på forskjellige Linux-maskiner noen ganger, og da det nye passordet var mye som det gamle, sa operativsystemet at de var for like.
Jeg har alltid lurt på hvordan fungerer operativsystemet dette? Jeg trodde passord ble lagret som en hash. Betyr dette at når systemet er i stand til å sammenligne det nye passordet for likhet med det gamle som det faktisk lagres som ren tekst?
Hvordan vet et Linux-system at passordene er for likt hverandre?
Svaret
SuperUser bidragsyter slhck har svaret for oss:
Siden du må levere både de gamle og nye passordene når du bruker passwd, kan de lett sammenlignes med vanlig tekst.
Ditt passord er faktisk hashed når det endelig er lagret, men til det skjer, kan verktøyet der du skriver inn passordet ditt bare få tilgang til det direkte.
Dette er en funksjon av PAM-systemet som brukes i bakgrunnen til passwd-verktøyet. PAM brukes av moderne Linux-distribusjoner. Mer spesifikt, pam_cracklib er en modul for PAM som gjør det mulig å avvise passord basert på likheter og svakheter.
Det er ikke bare passord som er for like som kan betraktes som usikre. Kildekoden har forskjellige eksempler på hva som kan kontrolleres, for eksempel om et passord er et palindrom eller hva redigeringsavstanden er mellom to ord. Tanken er å gjøre passordene mer motstandsdyktige mot ordboksangrep.
Se pam_cracklib manpage for mer informasjon.
Sørg for å lese gjennom resten av den livlige diskusjonen på SuperUser via emnetråden som er koblet under.
Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.