[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Configuring Solaris 8 clients
There's a patch out to fix the reporting of OpenLDAP at the directory
tree base. Solaris depends on this to get the namingcontext and then
from that nisDomain and dc. The patch hasn't been updated in a while,
so I updated it (pretty simple, actually)
http://sapiens.wustl.edu/~sysmain/info/openldap/patches/solaris_patch-
2.1.13
It's for OpenLDAP 2.1.13 but should work for 2.1.16. You also need to
compile OpenLDAP with crypt password support and the default password
hash should be crypt
password-hash {CRYPT}
You'll need to index nisDomain with an equality index
index nisDomain eq
You can test the workings of this by using the native solaris ldapsearch
ldapsearch -b '' -s base -h 127.0.0.1 'objectclass=*'
assuming ldap is on your local host, otherwise change the ip. This
should report back something like
dn:
objectClass: top
objectClass: OpenLDAProotDSE
structuralObjectClass: OpenLDAProotDSE
namingContexts: dc=yourdomain,dc=edu
supportedControl: 1.2.826.0.1.334810.2.3
supportedControl: 1.3.6.1.4.1.4203.1.10.1
supportedControl: 1.3.6.1.4.1.4203.1.10.2
supportedControl: 2.16.840.1.113730.3.4.2
supportedControl: 2.16.840.1.113730.3.4.18
supportedExtension: 1.3.6.1.4.1.1466.20037
supportedExtension: 1.3.6.1.4.1.4203.1.11.1
supportedExtension: 1.3.6.1.4.1.4203.1.11.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.1
supportedFeatures: 1.3.6.1.4.1.4203.1.5.2
supportedFeatures: 1.3.6.1.4.1.4203.1.5.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 3
Solaris will then use this naming context to get nisDomain and dc. You
can check with
ldapsearch -b 'dc=yourdomain,dc=edu' -s base -h 127.0.0.1
'objectclass=*'
which should report something like
dn: dc=yourdomain,dc=edu
objectClass: top
objectClass: dcObject
objectClass: domain
objectClass: nisDomainObject
dc: yourdomain
nisDomain: yourdomain.edu
If that all works then you can use ldap_gen_profile on solaris to
generate a profile
ldap_gen_profile -P profile_name -a simple -D
cn=proxy,dc=yourdomain,dc=edu \
-w "proxy password" -b dc=yourdomain,dc=edu ip.of.ldap.server
This generates a profile in ldif format. Remove the tabs and insert
that profile into your ldap DIT. Solaris uses proxy users to bind to
the ldap service. Configure a proxy user for solaris. Like
dn: cn=proxy,dc=yourdomain,dc=edu
objectClass: top
objectClass: person
cn: proxy
sn: Solaris Proxy User
userPassword: {CRYPT}something generated by slappasswd
and add to you ldap DIT and then use on your clients
on solaris 8
ldapclient -v -P profile_name -d yourdoman.edu ip.of.ldap.server
on solaris 9
ldapclient -v init -a profileName=profile_name -a
domainName=yourdomain.edu ip.of.ldap.server
to completely configure you clients.
There's nothing else on the client side that needs to be changed,
unless you're trying to do netgroups. That is a huge pain in the ass
and took me the better part of a weekend to figure out. Anyway, I got
the complete set up now-- automounts, user, group, password, netgroup,
everything, and I'm working on writing it up incase anyone else is
interested. OpenLDAP is pretty much awesome. It's all the clients out
there that are crap. I read the RFC's. Why can't they?
As a warning, if you set up your server as an ldap client you need to
change nsswitch.conf to read
host: files dns ldap
networks: files ldap
protocols: files ldap
etc.
or your machine will hang during boot. This is just for the server.
I may have forgotten something. Let me know.
HTH.
On Wednesday, March 26, 2003, at 08:28 AM, Igor Brezac wrote:
On Wed, 26 Mar 2003, Quanah Gibson-Mount wrote:
--On Wednesday, March 26, 2003 8:56 AM -0500 Igor Brezac
<igor@ipass.net>
wrote:
This is a bit too simplistic and it will not work on Solaris 9 until
ldap_cachemgr is started. To make this setup complete you need to
add
your domain to /etc/defaultdomain, /etc/init.d/ldap.client start and
restart nscd (/etc/init.d/nscd stop and then start). nscd does not
need
to run in order for this to work, in the long run you do want nscd
running. For more check out:
Solaris 9
http://docs.sun.com/db/doc/806-4077/6jd6blbdk?a=view
Igor,
On my Solaris 9 box, at least, running that command started up nscd
and the
ldap cache manager. It has been running on my system for several
weeks
without problem. It also created /etc/defaultdomain.
I stand corrected. ldapclient will do all of this for you. You do
need
to cleanup a bit after it runs. ldapclient restarts some services
which
are not necessarily running (automounter in my case) and it installs a
default nsswitch.ldap which may need editing. On Solaris 8 you have
to do
this by hand; however, ldap_cachemgr is not required to run in order
for
the ldap client to operate. I do recommend getting solaris schema from
the links I mentioned earlier. Unfortunately, automatic setup does not
work for both Solaris (8|9). You need to patch openldap, or Sun needs
to
fix the ldapclient and specify what attributes it needs from rootDN.
--
Igor
John Kloss <jkloss@sapiens.wustl.edu>
System Administrator, Database Administrator, Programmer
Gish Lab, Genome Sequencing Center
Washington University . . . in St. Louis