Use a command like pwget(1) with -n, or nsquery(1)[2] to verify that NSS is working:
pwget -n username
nsquery passwd username
If the output shows LDAP is not being searched, check /etc/nsswitch.conf to make sure LDAP is specified. If username is not found, make sure that user is in the directory and, if using a proxy user, make sure the proxy user is properly configured.
If nsquery(1) displays the user's information, make sure/etc/pam.conf is configured correctly for Kerberos. If/etc/pam.conf is configured correctly, check the directory's policy management status. It could be the directory's policy management is preventing the bind because, for example the user's password has expired or the login retry limit has been exceeded. To check this try an ldapsearch command and bind as the user, for example:
cd /opt/ldapux/bin
./ldapsearch -h servername -b "CN=Users,DC=cup,DC=hp,DC=com"
msSFUName=username -D <directory Administrator DN> -w passwd
./ldapsearch -h servername -b "CN=Users,DC=cup,DC=hp,DC=com"
-D userDN" -w passwd msSFUName=username
where userDN is the DN of the user who cannot log in and username is the login of the user. If you cannot bind as the user, check if any directory policies are preventing access.
See below for an example of determining the user's bind DN.