답변:
좋아, Michael Hampton 의 제안에 따라 pam_cracklib.c 의 코드를 보았고 pam_cracklib가 함수 호출을 통해 PAM에서 이전 (일명 현재 암호)을 얻는 것처럼 보입니다 (완전히 괜찮은 것으로 간주됩니다) 방금 인증을 위해 현재 비밀번호를 입력 한 다음 이전 비밀번호와 방금 입력 한 새 비밀번호 간의 유사성 분석 (거리 기능)을 수행합니다.
그러나 기록의 모든 이전 암호에 대해서는이 분석을 수행하지 않습니다. 가능하지 않습니다. 해시로만 저장됩니다. 그들에게 동일한 경우에만 확인이 가능합니다. 그래서 예상대로 모든 것이 정돈 된 것처럼 보이지만 이제는 왜 그런지 이해합니다 ... 모두 감사합니다.
기존 비밀번호는 일반 텍스트로 저장되지 않습니다.
대신 기존 비밀번호 해시 는 /etc/security/opasswd
PAM 에 의해 저장됩니다 . 그런 다음 PAM 구성에 지정된 내용에 따라 비밀번호를 변경할 때 비교합니다.
PAM 구성 예 :
password required pam_unix.so sha512 remember=12 use_authtok
여기에서는 remember
12 개의 이전 비밀번호를 기억합니다.
자세한 내용 은 pam_cracklib를 사용한 Linux 비밀번호 보안을 참조하십시오 .