오류 정보가 사용자에게 향하는 일은 거의 없다. 그것도 보통
"지금은 로그인할 수 없습니다"
정도의 메시지일 뿐이다. 설정 파일 /etc/pam.conf
의
오류나 모듈에서 마주친 어떤 시스템 문제로 인한 오류에 대한
정보는 facility를
LOG_AUTHPRIV로 해서
syslog(3)로
기록해야 한다.
몇 가지 예외는 있지만 로그 출력 수준은 모듈 개발자가 마음대로 정한다. 다음은 권장하는 로그 출력 수준 이용 방식이다.
일반적으로 모듈에서 마주친 오류들을 LOG_ERR
수준으로 기록하는 게 좋다. 다만 /etc/pam.conf
파일 항목에서 모듈로 전달된 알 수 없는 인자에 대한 정보는
반드시
LOG_ERR 수준으로
기록해야 한다.
/etc/pam.conf
의 모듈 인자
debug로 활성화된
디버깅 정보는 LOG_DEBUG
수준으로 기록하는 게 좋다.
모듈 자체 설정 파일이나 정보를 얻기 위한 어떤 시스템 파일이 깨져 있거나 어떤 식으로든 사용 불가능한 걸 알게 된 경우에는 LOG_ALERT 수준의 로그 메시지로 알리는 게 좋다.
파일 조작 실패나 malloc()
실패
같은 시스템 자원 부족은 LOG_CRIT
수준으로 기록하는 게 좋다.
잘못 입력한 패스워드 등으로 인한 인증 실패는 LOG_NOTICE 수준으로 기록하는 게 좋다.