Adding LDAP authentication to Cosmos, Solaris 7: combination of local files, NIS and LDAP; automounter information and group data still to be held by NIS --- authentication to be moved to LDAP from NIS for eUMIST Single Logon.
/etc/nsswitch.conf
/etc/pam.conf
/etc/ldap.conf
openldap-2.0.23
-- follow INSTALL:
-- ./configure --help
-- ./configure --disable-slapd
...
...
-- make depend
-- make
where are the .so s? hiding :
[mpciish2@cosmos:~/__ldap_solaris/openldap-2.0.23]$ !find
find . -name "*.so" -print
./libraries/liblber/.libs/liblber.so
./libraries/libldap/.libs/libldap.so
./libraries/libldap_r/.libs/libldap_r.so
[mpciish2@cosmos:~/__ldap_solaris/openldap-2.0.23]$
-- next...make install...
-- su root, add /usr/ccs/bin to PATH (to find both make and ranlib) then
"make install" --- installed in /usr/local/lib and also a bit
in /usr/local/etc
-- cd __ldap_solaris/openldap-2.0.23/libraries
-- make install
...as only want the libs, not slapd, etc...
-- next up, pam_ldap --- first installed gnu-make (/usr/local/bin)
as stated in the README;
-- cd pam_ldap-144 then ./configure...
-- /usr/local/bin/make (to pick up gnu make, not ccs/make --- sun make);
-- worked fine...
-- /usr/local/bin/make install...to /lib/security
ldd /lib/security/pam_ldap.so
libldap.so.3 => /usr/lib/libldap.so.3
liblber.so.2 => /usr/local/lib/liblber.so.2
libcrypt_i.so.1 => /usr/lib/libcrypt_i.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libpam.so.1 => /usr/lib/libpam.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libc.so.1 => /usr/lib/libc.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
...so its picked up the solaris libldap.so.3, not using the /usr/local/ldap
** NOTE THIS**
...might need to change (in the configure stage --- see README);
on mir each picked up the openldap (/usr/local) version....so...
...and, from the README...
Q: Can I use a third-party client LDAP library (such as Netscape's)
on Solaris 7? David Begley writes:
Yes, but if you have the Solaris 7 LDAP library installed (package
SUNWlldap or SUNWldapx) configure will find it before the third-party
library - in this case, you can't rely on the auto-lib-type detection of
configure and must use the "--with-ldap-lib=" parameter.
so used ./configure --with-ldap-dir=/usr/local
and now:
ldd ./pam_ldap.so
libldap.so.2 => /usr/local/lib/libldap.so.2
liblber.so.2 => /usr/local/lib/liblber.so.2
libcrypt_i.so.1 => /usr/lib/libcrypt_i.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libpam.so.1 => /usr/lib/libpam.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
which is jolly good. then did
/usr/local/bin/make install
again.
-- cd nss_ldap-188
-- needs gnu make again
-- ./configure...seemed ok
-- /usr/local/bin/make...seemed to work
-- /usr/local/bin/make install complained about permissions: gave +x
to install-sh and all was well...
installed to /lib/nss_ldap
-- ldd /lib/nss_ldap.so
libldap.so.3 => /usr/lib/libldap.so.3
liblber.so.2 => /usr/local/lib/liblber.so.2
libdl.so.1 => /usr/lib/libdl.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libsocket.so.1 => /usr/lib/libsocket.so.1
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
...so picking up the solaris libldap.so.3 rather than openldap (/usr/local)
again
** NOTE THIS**
so configured and compiled...
./configure --with-ldap-dir=/usr/local
then
/usr/local/bin/make
/usr/local/bin/make install
then
ldd /lib/nss_ldap.so
libldap.so.2 => /usr/local/lib/libldap.so.2
liblber.so.2 => /usr/local/lib/liblber.so.2
libdl.so.1 => /usr/lib/libdl.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libsocket.so.1 => /usr/lib/libsocket.so.1
/usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
...as required.
ln -s : cd /lib rm libldap.so ln -s /usr/local/lib/libldap.so.2.0.15 libldap.so.2 cd /usr/lib ...same...
| ...previous | up (conts) | next... |