Pytanie jest bardzo niejasne.
pamiętał 3 ostatnio użyte hasła
3 ostatnie próby logowania? Historie 3 ostatnich zmian haseł?
historię haseł oraz pamiętał
plaintextem? hash wystarczy?
Dla mnie to brzmi jak zapisywanie plaintextem haseł z 3 ostatnich prób logowania dla każdego użytkownika, ale że takie rozwiązanie to poroniony pomysł (nawet jeśli logujemy tylko hasła z nieudanych prób) to odrzuciłbym tę opcję.
Zrobiłbym coś, co jest dosyć proste i całkiem praktyczne, czyli skonfigurował pam, żeby przy zmianie hasła wymuszał użycie hasła innego niż 3 poprzednie:
password required pam_pwcheck.so nullok remember=3