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 |
You should post the ldif file and maybe slapd.conf, because without them we cannot diagnose what the problem is
Regards |
Quote:
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" |
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 |
Quote:
Where would I add the 2 following DNs you mentioned? Please advise. Thanks mate! DB |
Quote:
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} Code:
rootdn "cn=admin,dc=ldapsrv1,dc=csaa,dc=com" Quote:
So you have to use a ldif with something like: Code:
dn: dc=ldapsrv1,dc=csaa,dc=com Regards |
Quote:
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 |
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 What happens if you give a wrong password when prompted? |
All times are GMT -5. The time now is 11:53 PM. |