# slapmodify

## NAME



           slapmodify - Modify entries in a SLAPD database
    


## SYNOPSIS



           **SBINDIR/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:
    
                SBINDIR/slapmodify -l ldif
    


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


* * *