Debian 8에서 비밀번호 정책을 구현하려고 합니다. /etc/pam.d.common-passowrd에는 다음 내용이 있습니다.
password requisite pam_cracklib.so difok=2 minlen=8 dcredit=0 ucredit=0 lcredit=0 ocredit=0 minclass=3 reject_username
password requisite pam_echo.so blah blah
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
password requisite pam_deny.so
password required pam_permit.so
세 개의 5자리 시퀀스가 포함된 15자리 비밀번호를 설정한 후 다음 오류가 발생합니다.
root@foo-host:~# ssh foo-user@localhost
Last login: Tue Aug 29 11:26:06 2017 from 127.0.0.1
WARNING: Your password has expired.
You must change your password now and login again!
blah blah
Changing password for foo-user.
(current) UNIX password:
New password:
BAD PASSWORD: it is too simplistic/systematic
passwd: Authentication token manipulation error
passwd: password unchanged
Connection to localhost closed.
pam_unix에 대한 "blur" 옵션을 제거하려고 시도했지만 동작에 차이가 없음을 발견했습니다.
내 pam_cracklib 버전은 다음과 같습니다.
root@foo-host:~# dpkg --list | grep -i crack
ii cracklib-runtime 2.9.2-1 amd64 runtime support for password checker library cracklib2
ii libcrack2:amd64 2.9.2-1 amd64 pro-active password checker library
ii libpam-cracklib:amd64 1.1.8-3.1+deb8u2+b1 amd64 PAM module to enable cracklib support
pam_cracklib에 maxsequence를 지정하지 않았는데 왜 이런 일이 발생합니까?