We have installed openldap along with PADL's nss_ldap and pam_ldap on a
couple of Solaris 10 machines. These connect to an openldap server for
authentication and nsswitch functions. Everything mostly works, except
that certain utilities, like top and ps, do not translate uids into
usernames, and we see errors like this in syslog:
Sep 9 10:16:29 nber6 top[435]: [ID 293258 user.warning] libsldap: Status:
2 Mesg: Unable to load configuration '/var/ldap/ldap_client_file' ('').
Now this is particularly surprising as looking at top and ps with ldd,
they do not seem to be linked to libsldap at all. Not only that, but when
we replaced /usr/lib/libsldap.so.1 with a symlink to the openldap
libldap.so, nothing happened! (also, nothing else broke, which is nice).
There is still /usr/lib/sparcv9/libsldap.so which we have not yet touched,
but surely a 32-bit compiled executable like top or ps will not get there?
Has anyone seen this situation before?
It is possible that our understanding of how dynamically linked
executables work under Solaris is flawed. How is it possible for top or ps
to end up calling libsldap in this situation?
I should also mention that we have replaced Solaris's libldap with
symlinks to openldap's libldap everywhere it appears. We also disabled the
name service cache (nsdc) and the native solaris ldap_cachemgr.
Thank you for any pointers,
--
- Alex Aminoff
BaseSpace.net
National Bureau of Economic Research (nber.org)