The ldapmodify man page states that:

The default for ldapmodify is to modify existing entries

Yet when I try to import an LDIF file with ldapmodify I get the below error:

ldapmodify: modify operation type is missing at line X

Q1: Why, which arguments should I add to my ldapmodify command?

If I import an LDIF file using ldapadd and the entry already exists I get the below error:

ldap_add: Already exists (68)

This can be ignored using the -c switch (for continue), however ldap_add won't update existing entries. Instead, in order to update existing entries one should use ldapmodify, however ldapmodify won't add missing entries.

Q2: Is there a way to import an LDIF files by creating missing entries AND updating existing ones at the same time?

3 Answers 3


The ldif for ldapmodify has a different syntax than a regular ldif. For example: if you want to add the 'foo' entry with value 'bar' you should write your ldif like this:

dn: cn=ToModify,dc=example,dc=com
changetype: Modify
add: foo
foo: bar

replace: mail
mail: [email protected]

delete: unneededEntry

This ldif will add the attribute foo with value bar, update the mail attribute to [email protected] and delete the unneededEntry. then invoke the ldapmodify command.

ldapmodify -f update.ldif 

(if needed with other options like simple auth for example)

  • Thanks. Are you able to comment on Q2 at all?
    – Max
    Commented Jul 14, 2011 at 12:39
  • As far as I know this is not possible, therefore u have the 2 tools... ldapmodify for existing entries, ldapadd to add new ones.
    – Goez
    Commented Jul 14, 2011 at 13:21
  • That's also the impression that I was getting. Since I don't have to preserve the existing LDAP content before doing the import, I'm going to purge LDAP with ldapdelete then import the LDIF with slapadd.
    – Max
    Commented Jul 14, 2011 at 13:27

Try the -a switch

Add or modify options:
  -a         add values (default is to replace)

Goez answer seems fine.

However if you are unfamiliar with ldif it can make sense to use


instead. You can edit already existing entries or add new ones.

apt-get install ldapvi
  • 1
    Thanks but it doesn't scale up. For individual entry editing I'd much rather use something like this directory.apache.org/studio.
    – Max
    Commented Jul 14, 2011 at 12:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .