LDAP 클라이언트는 로그인 시 PAM 모듈을 사용자 인증에 사용합니다. 표준 UNIX PAM 모듈을 사용하는 경우 암호가 서버에서 읽혀 클라이언트측에서 확인됩니다. 이 프로세스는 다음 이유 중 하나로 인해 실패할 수 있습니다.
ldap이 이름 서비스 스위치의 passwd 데이터베이스와 연관되어 있지 않습니다.
프록시 에이전트가 서버 목록의 사용자 userPassword 속성을 읽을 수 없습니다. 프록시 에이전트가 비교를 위해 암호를 클라이언트로 반환하기 때문에 최소한 프록시 에이전트가 암호를 읽을 수 있도록 해야 합니다. pam_ldap에는 암호에 대한 읽기 권한이 필요하지 않습니다.
프록시 에이전트에 올바른 암호가 없을 수도 있습니다.
항목에 shadowAccount 객체 클래스가 없습니다.
사용자의 암호가 정의되어 있지 않습니다.
ldapaddent를 사용하는 경우 –p 옵션을 사용하여 사용자 항목에 암호가 추가되도록 해야 합니다. –p 옵션 없이 ldapaddent를 사용하는 경우 ldapaddent를 사용하여 /etc/shadow 파일도 추가하지 않으면 사용자 암호가 디렉토리에 저장되지 않습니다.
연결할 수 있는 LDAP 서버가 없습니다.
서버의 상태를 확인합니다.
# /usr/lib/ldap/ldap_cachemgr -g
pam.conf가 잘못 구성되었습니다.
LDAP 이름 공간에 사용자가 정의되어 있지 않습니다.
pam_unix_* 모듈에 대해 NS_LDAP_CREDENTIAL_LEVEL이 anonymous로 설정되었는데 익명 사용자는 userPassword를 사용할 수 없습니다.
암호가 crypt 형식으로 저장되어 있지 않습니다.
pam_ldap이 계정 관리를 지원하도록 구성된 경우 로그인 실패는 다음 원인 중 하나의 결과일 수 있습니다.
사용자 암호가 만료되었습니다.
실패한 로그인 시도 횟수가 너무 많아서 사용자 계정이 잠겼습니다.
관리자가 사용자 계정을 비활성화했습니다.
사용자가 ssh 또는 sftp와 같은 비암호 기반 프로그램을 사용하여 로그인을 시도했습니다.
사용자별 인증 및 sasl/GSSAPI를 사용 중인 경우 Kerberos의 일부 구성 요소나 pam_krb5 구성이 잘못 설정된 것입니다. 이러한 문제 해결에 대한 자세한 내용은 Oracle Solaris 11.2의 Kerberos 및 기타 인증 서비스 관리 를 참조하십시오.