slapmodify - Man Page

Modify entries in a SLAPD database

Synopsis

/usr/sbin/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]

Description

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).

Options

-b suffix

Use the specified suffix to determine which database to add entries to.  The -b cannot be used in conjunction with the -n option.

-c

enable continue (ignore errors) mode.

-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

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.

-g

disable subordinate gluing.  Only the specified database will be processed, and not its glued subordinates (if any).

-j lineno

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.

-l ldif-file

Read LDIF from the specified file instead of standard input.

-n dbnum

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.

-o option[=value]

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))

              schema-check={yes|no}
              value-check={yes|no}

The schema-check option toggles schema checking (default on);
the value-check option toggles value checking (default off).
The latter is incompatible with -q.
    -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.
    -s
    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.
-S SID
    Server ID to use in generated entryCSN.  Also used for contextCSN
    if -w is set as well.  Defaults to 0.
    -u
    enable dry-run (don't write to backend) mode.
    -v
    enable verbose mode.
-w
    write syncrepl context information.
    After all entries are added, the contextCSN
    will be updated with the greatest CSN in the database.

Limitations

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.

Examples

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

    	/usr/sbin/slapmodify -l ldif

See Also

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

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

Acknowledgements

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.  

Referenced By

slapadd(8), slapd.access(5), slapd.conf(5), slapd-config(5), slapd-mdb(5), slapd.plugin(5), slapd-wt(5).

2022/07/14 OpenLDAP 2.6.3