Hvis du nogensinde har modtaget en besked om, at din nye adgangskode ligner for din gamle, kan du være nysgerrig efter, hvordan dit Linux-system 'ved', at de er for meget ens. Dagens SuperUser Q & A-indlæg giver et kig bag det 'magiske gardin' på, hvad der foregår for en nysgerrig læser.
Dagens spørgsmål og svar-session kommer til os med tilladelse fra SuperUser - en underinddeling af Stack Exchange, en community-driven gruppe af Q&A websteder.
Skærmbillede med tilladelse til marc falardeau (Flickr) .
Spørgsmålet
SuperUser-læser LeNoob vil vide, hvordan et Linux-system 'ved', at adgangskoder ligner hinanden:
Jeg forsøgte at ændre et brugeradgangskode på forskellige Linux-maskiner et par gange, og da den nye adgangskode var meget lig den gamle, sagde operativsystemet, at de var for ens.
Jeg har altid spekuleret på, hvordan ved operativsystemet dette? Jeg troede, adgangskoder blev gemt som en hash. Betyder dette, at når systemet er i stand til at sammenligne den nye adgangskode for at få lighed med den gamle, at den faktisk er gemt som almindelig tekst?
Hvordan ved et Linux-system, at adgangskoder ligner hinanden?
Svaret
SuperUser-bidragyder slhck har svaret til os:
Da du skal angive både de gamle og nye adgangskoder, når du bruger passwd, kan de let sammenlignes i almindelig tekst.
Din adgangskode er faktisk hash, når den endelig er gemt, men indtil det sker, kan værktøjet, hvor du indtaster din adgangskode, bare få adgang til det direkte.
Dette er en funktion af PAM-system som bruges i baggrunden for passwd-værktøjet. PAM bruges af moderne Linux-distributioner. Mere specifikt er pam_cracklib et modul til PAM, der giver det mulighed for at afvise adgangskoder baseret på ligheder og svagheder.
Det er ikke kun adgangskoder, der er for ens, der kan betragtes som usikre. Det kildekode har forskellige eksempler på, hvad der kan kontrolleres, såsom om en adgangskode er en palindrom, eller hvad redigeringsafstanden er mellem to ord. Ideen er at gøre adgangskoder mere modstandsdygtige over for angreb fra ordbøger.
Se pam_cracklib manpage for mere information.
Sørg for at læse resten af den livlige diskussion på SuperUser via emnetråden linket nedenfor.
Har du noget at tilføje til forklaringen? Lyd fra i kommentarerne. Vil du læse flere svar fra andre teknisk kyndige Stack Exchange-brugere? Tjek den fulde diskussionstråd her .