slapmodify - Modify entries in a SLAPD database

/usr/bin/slapmodify [-b suffix] [-c] [-d debug-level] [-f slapd.conf] [-F confdir] [-g] [-j lineno] [-l ldif-file] [-n dbnum] [-o option[=value]] [-q] [-s] [-S SID] [-u] [-v] [-w]

Slapmodify is used to apply modifications specified in LDAP Directory Interchange Format (LDIF) to a slapd(8) database. It opens the given database determined by the database number or suffix and performs modifications corresponding to the provided LDIF to the database. Databases configured as subordinate of this one are also updated, unless -g is specified. The LDIF input is read from standard input or the specified file.

All files eventually created by slapmodify will belong to the identity slapmodify is run as, so make sure you either run slapmodify with the same identity slapd(8) will be run as (see option -u in slapd(8)), or change file ownership before running slapd(8).

Note: slapmodify will also perform the relevant indexing whilst modifying the database if any are configured. For specific details, please see slapindex(8).

Use the specified suffix to determine which database to add entries to. The -b cannot be used in conjunction with the -n option.
enable continue (ignore errors) mode.
enable debugging messages as defined by the specified debug-level; see slapd(8) for details.
specify an alternative slapd.conf(5) file.
specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored. If dry-run mode is also specified, no conversion will occur.
disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).
Jump to the specified line number in the LDIF file before processing any entries. This allows a modification that was aborted due to errors in the input LDIF to be resumed after the errors are corrected.
Read LDIF from the specified file instead of standard input.
Perform changes on the dbnum-th database listed in the configuration file. The -n cannot be used in conjunction with the -b option. To manipulate the config database slapd-config(5), use -n 0 as it is always the first database. It must physically exist on the filesystem prior to this, however.
Specify an option with a(n optional) value. Possible generic options/values are:
              syslog=<subsystems>  (see `-s' in slapd(8))
              syslog-level=<level> (see `-S' in slapd(8))
              syslog-user=<user>   (see `-l' in slapd(8))
The schema-check option toggles schema checking (default on);
the value-check option toggles value checking (default off).
The latter is incompatible with -q.
enable quick (fewer integrity checks) mode.  Does fewer consistency checks
on the input data, and no consistency checks when writing the database.
Improves the run time but if any errors or interruptions occur the resulting
database will be unusable.
disable schema checking.  This option is intended to be used when
manipulating databases containing special objects, such as fractional
objects on a partial replica.  Creating normal objects which do not
conform to schema may result in unexpected and ill behavior.
Server ID to use in generated entryCSN.  Also used for contextCSN
if -w is set as well.  Defaults to 0.
enable dry-run (don't write to backend) mode.
enable verbose mode.
write syncrepl context information.
After all entries are added, the contextCSN
will be updated with the greatest CSN in the database.

Your slapd(8) should not be running when you do this to ensure consistency of the database.

Not all backends support all types of modification, modrdn changetype in particular is not implemented for any of the current backends.

slapmodify may not provide naming or schema checks. It is advisable to use ldapmodify(1) when possible.

To make modifications specified in file ldif into your slapd(8) database give the command:

/usr/bin/slapmodify -l ldif

ldap(3), ldif(5), slapcat(8), slapadd(8), slapindex(8), ldapmodify(1), slapd(8)

"OpenLDAP Administrator's Guide" (

OpenLDAP Software is developed and maintained by The OpenLDAP Project OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

2024/01/29 OpenLDAP 2.6.7