If-Koubou

Как Linux знае, че нова парола е подобна на старата?

Как Linux знае, че нова парола е подобна на старата? (Как да)

Ако някога сте получили съобщение, че новата ви парола е прекалено подобна на старата, може би сте любопитни за това как вашата Linux система "знае", че са прекалено подобни. Днешната публикация "SuperUser Q & A" предоставя поглед над "магическата завеса" в това, което се случва за любопитен читател.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Снимката на екрана е предоставена от marc falardeau (Flickr).

Въпроса

Reader на SuperUser LeNoob иска да знае как една Linux система "знае", че паролите са твърде сходни помежду си:

Опитах се да променя потребителска парола на различни машини на Linux няколко пъти и когато новата парола е много подобна на старата, операционната система каза, че те са твърде сходни.

Винаги съм се питал как операционната система знае това? Мислех, че паролите са спасени като хеш. Това означава ли, че когато системата може да сравни новата парола за сходство със старата, която всъщност е запазена като обикновен текст?

Как системата на Linux "знае", че паролите са твърде сходни един с друг?

Отговорът

Слуховият сътрудник на SuperUser има отговор за нас:

Тъй като трябва да предоставите старата и новата парола, когато използвате passwd, те могат лесно да бъдат сравнявани в обикновен текст.

Вашата парола е наистина хеширана, когато най-накрая е съхранена, но докато това се случи, инструментът, в който въвеждате паролата си, може да има директен достъп до нея.

Това е характеристика на PAM системата, която се използва във фона на инструмента passwd. PAM се използва от съвременните дистрибуции на Linux. По-конкретно, pam_cracklib е модул за PAM, който му позволява да отхвърли пароли въз основа на сходства и слабости.

Не само паролите, които са твърде сходни, могат да се считат за несигурни. Изходният код има различни примери за това, което може да се провери, например дали парола е палиндром или каква е разликата в редакцията между две думи. Идеята е паролите да станат по-устойчиви срещу речниците.

Вижте страницата man_cracklib за повече информация.

Не забравяйте да прочетете останалата част от оживената дискусия в SuperUser чрез темата низ, свързана по-долу.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.