<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://classes.engineering.wustl.edu/cse330/index.php?action=history&amp;feed=atom&amp;title=LDAP</id>
	<title>LDAP - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://classes.engineering.wustl.edu/cse330/index.php?action=history&amp;feed=atom&amp;title=LDAP"/>
	<link rel="alternate" type="text/html" href="http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;action=history"/>
	<updated>2026-11-15T22:06:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.4</generator>
	<entry>
		<id>http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;diff=979&amp;oldid=prev</id>
		<title>Shane: categorizing</title>
		<link rel="alternate" type="text/html" href="http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;diff=979&amp;oldid=prev"/>
		<updated>2013-02-24T23:27:32Z</updated>

		<summary type="html">&lt;p&gt;categorizing&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 23:27, 24 February 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l247&quot; &gt;Line 247:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 247:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ldapsearch -x -D 'cn=isaadmin,o=ISA' -w jms_rulez #make sure you have your parameters for -w (password) and -D (admin entity)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ldapsearch -x -D 'cn=isaadmin,o=ISA' -w jms_rulez #make sure you have your parameters for -w (password) and -D (admin entity)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Module 2&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Former Content&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;diff=955&amp;oldid=prev</id>
		<title>Shane at 22:37, 24 February 2013</title>
		<link rel="alternate" type="text/html" href="http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;diff=955&amp;oldid=prev"/>
		<updated>2013-02-24T22:37:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 22:37, 24 February 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l247&quot; &gt;Line 247:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 247:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ldapsearch -x -D 'cn=isaadmin,o=ISA' -w jms_rulez #make sure you have your parameters for -w (password) and -D (admin entity)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  ldapsearch -x -D 'cn=isaadmin,o=ISA' -w jms_rulez #make sure you have your parameters for -w (password) and -D (admin entity)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Module &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Module &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;diff=309&amp;oldid=prev</id>
		<title>Shane: Created page with 'This page contains information on LDAP, a database system commonly used for enterprise user management.  LDAP is no longer covered in CSE330, but you may find the content here to…'</title>
		<link rel="alternate" type="text/html" href="http://classes.engineering.wustl.edu/cse330/index.php?title=LDAP&amp;diff=309&amp;oldid=prev"/>
		<updated>2012-08-09T16:48:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;This page contains information on LDAP, a database system commonly used for enterprise user management.  LDAP is no longer covered in CSE330, but you may find the content here to…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page contains information on LDAP, a database system commonly used for enterprise user management.  LDAP is no longer covered in CSE330, but you may find the content here to be of interest.&lt;br /&gt;
&lt;br /&gt;
== What is LDAP? ==&lt;br /&gt;
&lt;br /&gt;
LDAP is a Lightweight Directory Access Protocol. It is commonly used for getting personal and authentication information from a central server.  More information for LDAP is available on the [http://www.openldap.org/ OpenLDAP] website. &lt;br /&gt;
&lt;br /&gt;
== Your initial LDAP database ==&lt;br /&gt;
&lt;br /&gt;
Before you start installing LDAP, lets look at what kind of information we are going to use. You can write this information to a text file to populate your LDAP database later. The structure you decide upon is also important as you have to let the LDAP server know what that structure is.&lt;br /&gt;
&lt;br /&gt;
Lets assume we are creating an LDAP service for the  Babylon 5 space station using files as initial entries. At the top, we need to define an ''organization'' and then we need to describe the ''organizational units''. Our organizational unit will be Interstellar Alliance (ISA) and our subunits will be the planets belonging to this organization (Earth and Minbar for the sake of briefness). Then we will have  information about people who  are citizens of these planets.&lt;br /&gt;
&lt;br /&gt;
We describe ISA with &lt;br /&gt;
&lt;br /&gt;
 dn: o=ISA&lt;br /&gt;
 objectclass: top&lt;br /&gt;
 objectClass: organization&lt;br /&gt;
 o: ISA&lt;br /&gt;
 description: Interstellar Alliance&lt;br /&gt;
&lt;br /&gt;
The organization name (o) is ISA, and this entry has a ''distinct name (dn)'' of o=ISA. It is also an instance  of classes ''top'' and ''organization''. Under this organization, we need to have entries for ''Earth'' and ''Minbar''. &lt;br /&gt;
&lt;br /&gt;
 dn: ou=Earth,o=ISA&lt;br /&gt;
 ou: Earth&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Human&lt;br /&gt;
&lt;br /&gt;
 dn: ou=Minbar,o=ISA&lt;br /&gt;
 ou: Minbar&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Minbari&lt;br /&gt;
&lt;br /&gt;
Note that, ''dn''s for child nodes contain the path to reach them.&lt;br /&gt;
&lt;br /&gt;
We also need an administrator for LDAP so that we can access and modify the entries later.&lt;br /&gt;
&lt;br /&gt;
 dn: cn=isaadmin,o=ISA&lt;br /&gt;
 objectClass: organizationalRole&lt;br /&gt;
 cn: isaadmin&lt;br /&gt;
 description: LDAP directory administrator&lt;br /&gt;
&lt;br /&gt;
Then we will have the information about people.&lt;br /&gt;
&lt;br /&gt;
 dn: cn=John Sheridan,ou=Earth,o=ISA&lt;br /&gt;
 ou: Earth&lt;br /&gt;
 o: ISA&lt;br /&gt;
 cn: John Sheridan&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: person&lt;br /&gt;
&lt;br /&gt;
 objectClass: organizationalPerson&lt;br /&gt;
 objectClass: inetOrgPerson&lt;br /&gt;
 givenname: John&lt;br /&gt;
 sn: Sheridan&lt;br /&gt;
 postalAddress: Human Sector&lt;br /&gt;
 l: Babylon 5&lt;br /&gt;
 homeDirectory: /tmp&lt;br /&gt;
 st: Babylon 5&lt;br /&gt;
 telephoneNumber: (800)555-1212&lt;br /&gt;
 homePhone: 800-555-1313&lt;br /&gt;
 facsimileTelephoneNumber: 800-555-1414&lt;br /&gt;
 userPassword: sheridan&lt;br /&gt;
 title: Commander of Babylon 5 &lt;br /&gt;
&lt;br /&gt;
This entry is an instance of a class derived from person, organizationalPerson,inetOrgPerson, hence its attributes are from those classes. There are several optional attributes these classes contain that are not included in the description of this particular person. If you want to use LDAP only to provide the information about the people, this description would be sufficient. But if you need to provide authentication to other systems, you need other information too. First of all, you need to inform LDAP that this entry also contains user information by adding object classes ''posixAccount'' and ''shadowAccount''. Furthermore, you need to the give other information such as account name, user id, the groups this person belongs to, the home directory, etc.&lt;br /&gt;
&lt;br /&gt;
So, a more general entry for this person could be:&lt;br /&gt;
&lt;br /&gt;
 dn: cn=John Sheridan,ou=Earth,o=ISA&lt;br /&gt;
 ou: Earth&lt;br /&gt;
 o: ISA&lt;br /&gt;
 cn: John Sheridan&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: person&lt;br /&gt;
 objectClass: posixAccount&lt;br /&gt;
 objectClass: shadowAccount&lt;br /&gt;
 objectClass: organizationalPerson&lt;br /&gt;
 objectClass: inetOrgPerson&lt;br /&gt;
 givenname: John&lt;br /&gt;
 sn: Sheridan&lt;br /&gt;
 uid: starkiller&lt;br /&gt;
 postalAddress: Human Sector&lt;br /&gt;
 l: Babylon 5&lt;br /&gt;
 uidNumber: 1025&lt;br /&gt;
 gidNumber: 9000&lt;br /&gt;
 homeDirectory: /tmp&lt;br /&gt;
 st: Babylon 5&lt;br /&gt;
 telephoneNumber: (800)555-1212&lt;br /&gt;
 homePhone: 800-555-1313&lt;br /&gt;
 facsimileTelephoneNumber: 800-555-1414&lt;br /&gt;
 userPassword: *&lt;br /&gt;
 title: Commander of Babylon 5&lt;br /&gt;
&lt;br /&gt;
So John Sheridan has account name ''starkiller'' with UID 1025 and home directory ''/tmp''. Notice that, we set this person's group number to 9000. But how does a client machine know a group? LDAP also serves information about groups, so you can create a group entry.&lt;br /&gt;
&lt;br /&gt;
 dn: cn=chargroup,o=ISA&lt;br /&gt;
 objectClass: posixGroup&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 cn: chargroup&lt;br /&gt;
 userPassword: {crypt}x&lt;br /&gt;
 gidNumber: 9000&lt;br /&gt;
&lt;br /&gt;
Finally, you can repeat this for other personal.&lt;br /&gt;
&lt;br /&gt;
== Setting up the server==&lt;br /&gt;
&lt;br /&gt;
In order to use LDAP, we need ''slapd'', ''ldap-utils'', ''libldap2'', ''libldap2-dev'' packages. &lt;br /&gt;
&lt;br /&gt;
 apt-get install slapd  ldap-utils  libldap2 libldap2-dev&lt;br /&gt;
&lt;br /&gt;
If the installation program asks for an admin password, type a password but don't worry about it much since we will create our own admin later.&lt;br /&gt;
&lt;br /&gt;
''slapd'' is an LDAP server. It has configuration files under ''/etc/ldap''. For now, we are interested in ''slapd.conf''. This files include some default schema that describes object classes you can use in your entities. It also describes a default LDAP directory database. &lt;br /&gt;
&lt;br /&gt;
 database bdb&lt;br /&gt;
&lt;br /&gt;
describes a Berkley database that is going to be used (you can select other alternatives). It also has a default suffix. If you want, you modify the lines for the default database description or you can set up your own database. Basically,you need to select a suffix for your database (usually the organization's dn) and give the dn of the LDAP administrator and its password. Finally, you need to specify the permissions.&lt;br /&gt;
&lt;br /&gt;
If we continue with Babylon 5 example, remember our organization had ''dn: o=ISA'', so that will be our suffix&lt;br /&gt;
&lt;br /&gt;
 suffix &amp;quot;o=ISA&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
We would also need to inform LDAP about the administrator account so that we can access LDAP and modify it.&lt;br /&gt;
&lt;br /&gt;
 rootdn          &amp;quot;cn=isaadmin,o=ISA&amp;quot;&lt;br /&gt;
 rootpw          jms_rulez&lt;br /&gt;
&lt;br /&gt;
In this example, the password was left in plain text, but you can also use encrypted passwords. We need to give the administrator the full access to modify the database:&lt;br /&gt;
&lt;br /&gt;
 # The admin dn has full write access, everyone else&lt;br /&gt;
 # can read everything.&lt;br /&gt;
 access to *&lt;br /&gt;
         by dn=&amp;quot;cn=isaadmin,o=ISA&amp;quot; write&lt;br /&gt;
         by * read&lt;br /&gt;
&lt;br /&gt;
and the others can modify their own passwords:&lt;br /&gt;
&lt;br /&gt;
 access to attrs=userPassword,shadowLastChange&lt;br /&gt;
        by dn=&amp;quot;cn=isaadmin,o=ISA&amp;quot; write&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by self write&lt;br /&gt;
        by * none&lt;br /&gt;
&lt;br /&gt;
Actually, the last bit needs to come before the administrator access since otherwise, it will overwrite the administrator's write access.&lt;br /&gt;
&lt;br /&gt;
So we are now ready to use ldap. Since we have updated slapd.conf, we need to restart slapd.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
&lt;br /&gt;
and we need to populate the initial database:&lt;br /&gt;
&lt;br /&gt;
 ldapadd -f ~/babylon5.ldif -xv  -D &amp;quot;cn=isaadmin,o=ISA&amp;quot;  -h 127.0.0.1  -w jms_rulez&lt;br /&gt;
&lt;br /&gt;
The format is&lt;br /&gt;
&lt;br /&gt;
 ldapadd -f LDIF_FILE_TO_BE_USED -xv -D &amp;quot;admin's dn' -h HOSTNAME_FOR_LDAP_SERVER -wADMIN_PASSWORD&lt;br /&gt;
&lt;br /&gt;
The ''-x'' option tells LDAP to use plain authentication and -v says verbose output.&lt;br /&gt;
&lt;br /&gt;
If you have problems, you can stop slapd and use&lt;br /&gt;
&lt;br /&gt;
 slapadd  -u -l babylon5.ldif -b o=ISA -cv&lt;br /&gt;
&lt;br /&gt;
to see detailed error messages. ''slapadd'' accesses your database directory directly without going through the server. If you want to remove the LDAP directory, you can directly remove everything under ''/var/lib/ldap/'' (the path specified in slapd.conf) and the next time you start slapd, it will create initial files (but you need to repopulate).&lt;br /&gt;
&lt;br /&gt;
You can verify if your LDAP is working with&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -x -b 'o=ISA'&lt;br /&gt;
&lt;br /&gt;
ldapsearch takes other parameters to let you search for specific information. In the example, we look at all the entries that have ''o=ISA''.&lt;br /&gt;
&lt;br /&gt;
== Setting up the client ==&lt;br /&gt;
&lt;br /&gt;
First you need to install the client side packages:&lt;br /&gt;
&lt;br /&gt;
 apt-get install ldap-utils libpam-ldap libnss-ldap nscd&lt;br /&gt;
&lt;br /&gt;
Now we need to inform Linux to look at LDAP for authentication. We do that by modifying ''/etc/nsswitch.conf'':&lt;br /&gt;
&lt;br /&gt;
 passwd:     ldap compat&lt;br /&gt;
 group:      ldap compat&lt;br /&gt;
 shadow:     ldap compat&lt;br /&gt;
&lt;br /&gt;
PAM is the Linux module that handles authentications which allows you to have different authentication protocols for different programs. We need to update the authentication methods to use LDAP for account information. This is done by editing files:&lt;br /&gt;
&lt;br /&gt;
''/etc/pam.d/common-account''&lt;br /&gt;
 account sufficient    pam_ldap.so&lt;br /&gt;
 account required    pam_unix.so try_first_pass&lt;br /&gt;
&lt;br /&gt;
''/etc/pam.d/common-auth''&lt;br /&gt;
 auth sufficient        pam_ldap.so&lt;br /&gt;
 auth required        pam_unix.so nullok_secure try_first_pass&lt;br /&gt;
&lt;br /&gt;
''/etc/pam.d/common-password''&lt;br /&gt;
 password sufficient    pam_ldap.so&lt;br /&gt;
 password required    pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass&lt;br /&gt;
&lt;br /&gt;
We also  need to update  ''/etc/ldap/ldap.conf'' (with your partner's information)&lt;br /&gt;
&lt;br /&gt;
 BASE  yourbase&lt;br /&gt;
 URI   ldap://yourhost&lt;br /&gt;
 rootbinddn  Your admin's dn&lt;br /&gt;
 &lt;br /&gt;
In our example case, it will be&lt;br /&gt;
&lt;br /&gt;
 BASE  o=ISA&lt;br /&gt;
 URI   ldap://128.252.160.XXX  #replace XXX with the final IP number&lt;br /&gt;
 rootbinddn  cn=isaadmin,o=ISA&lt;br /&gt;
&lt;br /&gt;
and then similar changes go in ''/etc/libnss-ldap.conf'' (with your partner's information)&lt;br /&gt;
&lt;br /&gt;
 base o=ISA&lt;br /&gt;
 host 128.252.160.xxx #replace xxx with your server's IP&lt;br /&gt;
 rootbinddn  cn=isaadmin,o=ISA&lt;br /&gt;
&lt;br /&gt;
Both libnss and pam_ldap get the rootbindn's password from text files so add your administrator's password there  and make sure those files have 500 permissions.&lt;br /&gt;
&lt;br /&gt;
''/etc/libnss-ldap.secret'' and ''/etc/pam_ldap.secret''&lt;br /&gt;
&lt;br /&gt;
Finally you need to restart nscd&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/nscd restart&lt;br /&gt;
&lt;br /&gt;
nscd somtimes uses a local cache which may not be updated after LDAP configuration. You could install install ''nscd'' after LDAP has been configured or disable the cache for the password file in ncsd configuration file&lt;br /&gt;
''/etc/nscd.conf''&lt;br /&gt;
&lt;br /&gt;
 enable-cache passwd no&lt;br /&gt;
 &lt;br /&gt;
Now you can change the password of a user in LDAP with &lt;br /&gt;
&lt;br /&gt;
 password username &lt;br /&gt;
&lt;br /&gt;
You can get the password file with &lt;br /&gt;
&lt;br /&gt;
 getent passwd&lt;br /&gt;
&lt;br /&gt;
Your LDAP entries should be there.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can type&lt;br /&gt;
&lt;br /&gt;
  getent passwd nameofauser&lt;br /&gt;
&lt;br /&gt;
If you don't see anything after these commands, something is missing in your configuration. Make sure your admin password is right and URIs, bases are correct. Try to access the LDAP server by using ''ldapsearch'':&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -x -D 'cn=isaadmin,o=ISA' -w jms_rulez #make sure you have your parameters for -w (password) and -D (admin entity)&lt;br /&gt;
&lt;br /&gt;
[[Category:Module 1]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
</feed>