LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 10-12-2009, 01:00 AM   #1
deibertine
Member
 
Registered: Mar 2009
Posts: 222

Rep: Reputation: 30
openLDAP ldap_add: No such object (32)


I've been getting this error when importing users in the openldap db:
ldapsrv1:~# ldapadd -x -W -D "cn=admin,dc=ldapsrv1,dc=csaa,dc=com" -f ~/group.ldif
Enter LDAP Password:
adding new entry "cn=root,ou=Group,dc=ldapsrv1,dc=csaa,dc=com"
ldap_add: No such object (32)
matched DN: dc=ldapsrv1,dc=csaa,dc=com

Can someone please advise?
Cheers!
DB
 
Old 10-12-2009, 02:08 AM   #2
bathory
LQ Guru
 
Registered: Jun 2004
Location: Piraeus
Distribution: Slackware
Posts: 13,163
Blog Entries: 1

Rep: Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032
You should post the ldif file and maybe slapd.conf, because without them we cannot diagnose what the problem is

Regards
 
Old 10-12-2009, 04:18 AM   #3
deibertine
Member
 
Registered: Mar 2009
Posts: 222

Original Poster
Rep: Reputation: 30
Quote:
Originally Posted by bathory View Post
You should post the ldif file and maybe slapd.conf, because without them we cannot diagnose what the problem is

Regards
Thanks for the reply.

Here are a few entries in my group ldif:
dn: cn=root,ou=Group,dc=ldapsrv1,dc=csaa,dc=com
objectClass: posixGroup
objectClass: top
cn: root
userPassword: {crypt}x
gidNumber: 0

dn: cn=daemon,ou=Group,dc=ldapsrv1,dc=csaa,dc=com
objectClass: posixGroup
objectClass: top
cn: daemon
userPassword: {crypt}x
gidNumber: 1

Here's my slapd.conf:

# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.
#######################################################################
# Global Directives:
# Features to permit
allow bind_v2
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile /var/run/slapd/slapd.pid
# List of arguments that were passed to the server
argsfile /var/run/slapd/slapd.args
# Read slapd.conf(5) for possible values
loglevel none
# Where the dynamically loaded modules are stored
modulepath /usr/lib/ldap
moduleload back_hdb
# The maximum number of entries that is returned for a search operation
sizelimit 500
# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1
#######################################################################
# Specific Backend Directives for hdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend hdb
#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend <other>
#######################################################################
# Specific Directives for database #1, of type hdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database hdb
# The base of your directory in database #1
suffix "dc=ldapsrv1,dc=csaa,dc=com"
# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
rootdn "cn=admin,dc=ldapsrv1,dc=csaa,dc=com"
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"
# The dbconfig settings are used to generate a DB_CONFIG file the first
# time slapd starts. They do NOT override existing an existing DB_CONFIG
# file. You should therefore change these settings in DB_CONFIG directly
# or remove DB_CONFIG and restart slapd for changes to take effect.
# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 2097152 0
# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057 for more
# information.
# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects 1500
# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500
# Number of lockers
dbconfig set_lk_max_lockers 1500
# Indexing options for database #1
index objectClass eq
# Save the time that the entry gets modified, for database #1
lastmod on
# Checkpoint the BerkeleyDB database periodically in case of system
# failure and to speed slapd shutdown.
checkpoint 512 30
# Where to store the replica logs for database #1
# replogfile /var/lib/ldap/replog
# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=ldapsrv1,dc=csaa,dc=com" write
by anonymous auth
by self write
by * none
# Ensure read access to the base for things like
# supportedSASLMechanisms. Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read
# The admin dn has full write access, everyone else
# can read everything.
access to *
by dn="cn=admin,dc=ldapsrv1,dc=csaa,dc=com" write
by * read
# For Netscape Roaming support, each user gets a roaming
# profile for which they have write access to
#access to dn=".*,ou=Roaming,o=morsnet"
# by dn="cn=admin,dc=ldapsrv1,dc=csaa,dc=com" write
# by dnattr=owner write

#######################################################################
# Specific Directives for database #2, of type 'other' (can be hdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database <other>

# The base of your directory for database #2
#suffix "dc=debian,dc=org"
 
Old 10-12-2009, 04:38 AM   #4
bathory
LQ Guru
 
Registered: Jun 2004
Location: Piraeus
Distribution: Slackware
Posts: 13,163
Blog Entries: 1

Rep: Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032
First of all you haven't define a password for rootdn. Are you sure you want this?

You have to add first the following 2 DNs, before adding users:
dc=ldapsrv1,dc=csaa,dc=com
ou=Group,dc=ldapsrv1,dc=csaa,dc=com
 
Old 10-12-2009, 09:06 PM   #5
deibertine
Member
 
Registered: Mar 2009
Posts: 222

Original Poster
Rep: Reputation: 30
Quote:
Originally Posted by bathory View Post
First of all you haven't define a password for rootdn. Are you sure you want this?

You have to add first the following 2 DNs, before adding users:
dc=ldapsrv1,dc=csaa,dc=com
ou=Group,dc=ldapsrv1,dc=csaa,dc=com
Where and how would I define the password for rootdn? I have defined one password in admin when I did the initial setup dpkg-reconfigure slapd

Where would I add the 2 following DNs you mentioned?
Please advise.

Thanks mate!
DB
 
Old 10-13-2009, 12:34 AM   #6
bathory
LQ Guru
 
Registered: Jun 2004
Location: Piraeus
Distribution: Slackware
Posts: 13,163
Blog Entries: 1

Rep: Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032
Quote:
Where and how would I define the password for rootdn? I have defined one password in admin when I did the initial setup dpkg-reconfigure slapd
In slapd.conf, along with rootdn there should be also a rootpw entry for the administrator.
When you run ldap commands, like ldapadd, with the -W option it asks you for a password which in turn is compared with rootpw. To create one (since you use crypt) run:
Code:
slappasswd -h {CRYPT}
Give the password you want twice and copy/paste the output in rootpw in slapd.conf:
Code:
rootdn "cn=admin,dc=ldapsrv1,dc=csaa,dc=com"
rootpw {CRYPT}blahblah
Then you can restart slapd.
Quote:
Where would I add the 2 following DNs you mentioned?
Please advise.
Before adding users, groups etc, you must first create the basedn, that is "dn: dc=ldapsrv1,dc=csaa,dc=com" in your case, as the directory tree is hierarchical. Also you have to add "dn: ou=Group,dc=ldapsrv1,dc=csaa,dc=com" in order to add users under that dn.
So you have to use a ldif with something like:
Code:
dn: dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: ldapsrv1
dc: ldapsrv1

dn: ou=Group,dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Group
You can take a look at this tutorial for more info.

Regards
 
Old 10-13-2009, 06:43 PM   #7
deibertine
Member
 
Registered: Mar 2009
Posts: 222

Original Poster
Rep: Reputation: 30
Quote:
Originally Posted by bathory View Post
Before adding users, groups etc, you must first create the basedn, that is "dn: dc=ldapsrv1,dc=csaa,dc=com" in your case, as the directory tree is hierarchical. Also you have to add "dn: ou=Group,dc=ldapsrv1,dc=csaa,dc=com" in order to add users under that dn.
So you have to use a ldif with something like:
Code:
dn: dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: ldapsrv1
dc: ldapsrv1

dn: ou=Group,dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Group
You can take a look at this tutorial for more info.

Regards
Sorry but this is where I'm confused about.
Where would I create the basedn you stated?
I created an ldif file called people_group.ldif with these values:
dn: dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: ldapsrv1
dc: ldapsrv1

dn: ou=People,dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: organizationalUnit
ou: People

dn: dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: ldapsrv1
dc: ldapsrv1

dn: ou=Group,dc=ldapsrv1,dc=csaa,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Group

I'm basically migrating my current unix users from an old server and copying them on to our ldap server following this tutorial:
http://www.debuntu.org/ldap-server-a...x-ldap-clients

These commands on where I get stuck:
# ldapadd -x -W -D "cn=admin,dc=ldapsrv1,dc=csaa,dc=com" -f ~/group.ldif
# ldapadd -x -W -D "cn=admin,dc=ldapsrv1,dc=csaa,dc=com" -f ~/passwd.ldif

I get this error when initiating the above commands:
root@ldapsrv1:~# ldapadd -x -W -D "cn=admin,dc=ldapsrv1,dc=csaa,dc=com" -f ~/group.ldif
Enter LDAP Password:
adding new entry "cn=admin,dc=ldapsrv1,dc=csaa,dc=com"
ldap_add: No such object (32)
matched DN: dc=ldapsrv1,dc=csaa,dc=com
 
Old 10-14-2009, 12:30 AM   #8
bathory
LQ Guru
 
Registered: Jun 2004
Location: Piraeus
Distribution: Slackware
Posts: 13,163
Blog Entries: 1

Rep: Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032Reputation: 2032
Have you created and added the people_group.ldif? It must be done first according to the tutorial you've used.
Also run:
Code:
ldapsearch -x -z 100 -b 'dc=ldapsrv1,dc=csaa,dc=com' '(objectclass=*)' -D "cn=admin,dc=ldapsrv1,dc=csaa,dc=com" -W
to see if you already have an entry for the basedn?
What happens if you give a wrong password when prompted?
 
  


Reply

Tags
openldap



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
nss_ldap, openldap and openldap-server ... what is openldap for? chakkerz Linux - Server 2 08-13-2009 07:16 PM
openLDAP Object class violation trv@dmin Linux - Server 0 09-05-2008 05:51 AM
LDAP_add: Type or value exists (20) akhtar.bhat Linux - Server 2 02-19-2008 02:15 PM
openldap: ldap_add: Naming violation (64) libregeek Linux - Networking 2 11-24-2005 12:51 AM
URGENT: ldap_add(): Add: Object class violation error 65 sierraaltae Linux - Security 1 08-05-2005 10:41 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 11:50 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration