6.24. pam_pwhistory - .pwhistory 파일 이용 접근 허가

pam_pwhistory.so [ debug ] [ use_authtok ] [ enforce_for_root ] [ remember=N ] [ retry=N ] [ authtok_type=STRING ]

6.24.1. 설명

이 모듈은 사용자별로 최근 패스워드들을 저장해 둔다. 패스워드 변경 이력을 적용해서 사용자가 같은 패스워드를 너무 자주 돌려쓰는 걸 막는다.

이 모듈은 커베로스와는 잘 동작하지 않는다. 그리고 일반적으로 NIS나 LDAP과 결합해 쓰는 것이 맞지 않은데, 이전 패스워드가 로컬 머신에 저장되므로 다른 머신에서 패스워드 이력 검사에 이용할 수 없기 때문이다.

6.24.2. 옵션

debug

syslog(3) 통한 디버깅 켜기.

use_authtok

패스워드 변경 시 스택 앞쪽 password 모듈에서 제공하는 새 패스워드를 이용하도록 강제한다. (아래의 pam_passwdqc 모듈 조합 예시에서 사용함.)

enforce_for_root

이 옵션이 설정돼 있으면 root에도 검사를 강제한다.

remember=N

사용자별로 패스워드 N개를 /etc/security/opasswd에 저장한다. 기본은 10개다. 0 값을 쓰면 opasswd 파일의 기존 내용물을 그대로 둔다.

retry=N

사용자에게 N번까지 물어본 후 오류를 반환한다. 기본은 1번이다.

authtok_type=STRING

자세한 내용은 pam_get_authtok(3) 참고.

6.24.3. 제공하는 모듈 종류

password 모듈 타입만 제공한다.

6.24.4. 반환 값

PAM_AUTHTOK_ERR

새 패스워드가 입력되지 않았거나, 사용자가 패스워드 변경을 중단했거나, 새 패스워드를 설정할 수 없었다.

PAM_IGNORE

패스워드 이력이 비활성화돼 있다.

PAM_MAXTRIES

패스워드가 너무 많이 거절됐다.

PAM_USER_UNKNOWN

시스템에서 알지 못하는 사용자다.

6.24.5. 파일

/etc/security/opasswd

패스워드 이력이 있는 파일

6.24.6. 예시

password 섹션 예시:

#%PAM-1.0
password     required       pam_pwhistory.so
password     required       pam_unix.so        use_authtok
      

pam_passwdqc과 조합:

#%PAM-1.0
password     required       pam_passwdqc.so    config=/etc/passwdqc.conf
password     required       pam_pwhistory.so   use_authtok
password     required       pam_unix.so        use_authtok
      

6.24.7. 작성자

Thorsten Kukuk <kukuk@thkukuk.de>이 pam_pwhistory를 작성했다.