LDAP クライアントはログイン中、ユーザー認証に PAM モジュールを使用します。UNIX 標準の PAM モジュールでは、パスワードをサーバーから読み込みクライアント側で検査します。このプロセスは、次のいずれかの理由で失敗することがあります。
ldap が、ネームサービススイッチ内の passwd データベースに関連付けられていない。
プロキシエージェントが、サーバーリスト上のユーザーの userPassword 属性を読み取ることができない。プロキシエージェントが比較のためにパスワードをクライアントに返すので、少なくともプロキシエージェントはパスワードを読めなければならない。pam_ldap に関しては、パスワードへの読み取りアクセスを必要としない
プロキシエージェントが適切なパスワードを保持していない
該当するエントリに shadowAccount オブジェクトクラスが定義されていない
パスワードが定義されていない
ldapaddent を使用する場合、–p オプションを使用してパスワードをユーザーエントリに確実に追加する必要があります。ldapaddent を –p オプションなしで使用すると、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 およびその他の認証サービスの管理 を参照してください。