1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
.TH SLAPMODIFY 8C "RELEASEDATE" "OpenLDAP LDVERSION"
.\" Copyright 1998-2022 The OpenLDAP Foundation All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.\" $OpenLDAP$
.SH NAME
slapmodify \- Modify entries in a SLAPD database
.SH SYNOPSIS
.B SBINDIR/slapmodify
[\c
.BI \-b \ suffix\fR]
[\c
.BR \-c ]
[\c
.BI \-d \ debug-level\fR]
[\c
.BI \-f \ slapd.conf\fR]
[\c
.BI \-F \ confdir\fR]
[\c
.BR \-g ]
[\c
.BI \-j \ lineno\fR]
[\c
.BI \-l \ ldif-file\fR]
[\c
.BI \-n \ dbnum\fR]
[\c
.BI \-o \ option\fR[ = value\fR]]
[\c
.BR \-q ]
[\c
.BR \-s ]
[\c
.BI \-S \ SID\fR]
[\c
.BR \-u ]
[\c
.BR \-v ]
[\c
.BR \-w ]
.SH DESCRIPTION
.LP
.B Slapmodify
is used to apply modifications specified in LDAP Directory Interchange Format
(LDIF) to a
.BR 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
.B subordinate
of this one are also updated, unless \fB\-g\fP is specified.
The LDIF input is read from standard input or the specified file.
All files eventually created by
.BR slapmodify
will belong to the identity
.BR slapmodify
is run as, so make sure you either run
.BR slapmodify
with the same identity
.BR slapd (8)
will be run as (see option
.B \-u
in
.BR slapd (8)),
or change file ownership before running
.BR slapd (8).
Note: slapmodify will also perform the relevant indexing whilst modifying the database if
any are configured. For specific details, please see
.BR slapindex (8).
.SH OPTIONS
.TP
.BI \-b \ suffix
Use the specified \fIsuffix\fR to determine which database to
add entries to. The \fB\-b\fP cannot be used in conjunction
with the
.B \-n
option.
.TP
.B \-c
enable continue (ignore errors) mode.
.TP
.BI \-d \ debug-level
enable debugging messages as defined by the specified
.IR debug-level ;
see
.BR slapd (8)
for details.
.TP
.BI \-f \ slapd.conf
specify an alternative
.BR slapd.conf (5)
file.
.TP
.BI \-F \ confdir
specify a config directory.
If both
.B \-f
and
.B \-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.
.TP
.B \-g
disable subordinate gluing. Only the specified database will be
processed, and not its glued subordinates (if any).
.TP
.BI \-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.
.TP
.BI \-l \ ldif-file
Read LDIF from the specified file instead of standard input.
.TP
.BI \-n \ dbnum
Perform changes on the \fIdbnum\fR-th database listed in the
configuration file. The
.B \-n
cannot be used in conjunction with the
.B \-b
option.
To manipulate the config database
.BR slapd\-config (5),
use
.B \-n 0
as it is always the first database. It must physically exist
on the filesystem prior to this, however.
.TP
.BI \-o \ option\fR[ = value\fR]
Specify an
.I option
with a(n optional)
.IR value .
Possible generic options/values are:
.LP
.nf
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}
.in
The \fIschema\-check\fR option toggles schema checking (default on);
the \fIvalue\-check\fR option toggles value checking (default off).
The latter is incompatible with \fB-q\fR.
.TP
.B \-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.
.TP
.B \-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.
.TP
.BI \-S \ SID
Server ID to use in generated entryCSN. Also used for contextCSN
if \fB\-w\fP is set as well. Defaults to \fB0\fP.
.TP
.B \-u
enable dry-run (don't write to backend) mode.
.TP
.B \-v
enable verbose mode.
.TP
.BI \-w
write syncrepl context information.
After all entries are added, the contextCSN
will be updated with the greatest CSN in the database.
.SH LIMITATIONS
Your
.BR slapd (8)
should not be running
when you do this to ensure consistency of the database.
.LP
Not all backends support all types of modification, \fImodrdn\fR
changetype in particular is not implemented for any of the current
backends.
.LP
.B slapmodify
may not provide naming or schema checks. It is advisable to
use
.BR ldapmodify (1)
when possible.
.SH EXAMPLES
To make modifications specified in file
.B ldif
into your
.BR slapd (8)
database give the command:
.LP
.nf
.ft tt
SBINDIR/slapmodify \-l ldif
.ft
.fi
.SH "SEE ALSO"
.BR ldap (3),
.BR ldif (5),
.BR slapcat (8),
.BR slapadd (8),
.BR slapindex (8),
.BR ldapmodify (1),
.BR slapd (8)
.LP
"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
.SH ACKNOWLEDGEMENTS
.so ../Project
|