summaryrefslogtreecommitdiffstats
path: root/src/man/kadmind.man
blob: 5ee569dcd4329e1a5cdaf9fd8c5364f4774c286f (plain)
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
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
.TH "KADMIND" "8" " " "0.0.1" "MIT Kerberos"
.SH NAME
kadmind \- KADM5 administration server
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.\" Man page generated from reStructeredText.
.
.SH SYNOPSIS
.sp
\fBkadmind\fP
[\fB\-x\fP \fIdb_args\fP]
[\fB\-r\fP \fIrealm\fP]
[\fB\-m\fP]
[\fB\-nofork\fP]
[\fB\-port\fP \fIport\-number\fP]
[\fB\-P\fP \fIpid_file\fP]
.SH DESCRIPTION
.sp
kadmind starts the Kerberos administration server.  kadmind typically
runs on the master Kerberos server, which stores the KDC database.  If
the KDC database uses the LDAP module, the administration server and
the KDC server need not run on the same machine.  kadmind accepts
remote requests from programs such as \fIkadmin(1)\fP and
\fIkpasswd(1)\fP to administer the information in these database.
.sp
kadmind requires a number of configuration files to be set up in order
for it to work:
.INDENT 0.0
.TP
.B \fIkdc.conf(5)\fP
.sp
The KDC configuration file contains configuration information for
the KDC and admin servers.  kadmind uses settings in this file to
locate the Kerberos database, and is also affected by the
\fBacl_file\fP, \fBdict_file\fP, \fBkadmind_port\fP, and iprop\-related
settings.
.TP
.B ACL file
.
kadmind\(aqs ACL (access control list) tells it which principals are
allowed to perform administration actions.  The pathname to the
ACL file can be specified with the \fBacl_file\fP kdc.conf variable;
by default, it is \fB@LOCALSTATEDIR@/krb5kdc\fP\fB/kadm5.acl\fP.  The syntax of the ACL
file is specified in the ACL FILE SYNTAX section below.
.sp
If the kadmind ACL file is modified, the kadmind daemon needs to
be restarted for changes to take effect.
.UNINDENT
.sp
After the server begins running, it puts itself in the background and
disassociates itself from its controlling terminal.
.sp
kadmind can be configured for incremental database propagation.
Incremental propagation allows slave KDC servers to receive principal
and policy updates incrementally instead of receiving full dumps of
the database.  This facility can be enabled in the \fIkdc.conf(5)\fP
file with the \fBiprop_enable\fP option.  Incremental propagation
requires the principal \fBkiprop/MASTER\e@REALM\fP (where MASTER is the
master KDC\(aqs canonical host name, and REALM the realm name) to be
registered in the database.
.SH OPTIONS
.INDENT 0.0
.TP
.B \fB\-r\fP \fIrealm\fP
.sp
specifies the realm that kadmind will serve; if it is not
specified, the default realm of the host is used.
.TP
.B \fB\-m\fP
.sp
causes the master database password to be fetched from the
keyboard (before the server puts itself in the background, if not
invoked with the \fB\-nofork\fP option) rather than from a file on
disk.
.TP
.B \fB\-nofork\fP
.sp
causes the server to remain in the foreground and remain
associated to the terminal.  In normal operation, you should allow
the server to place itself in the background.
.TP
.B \fB\-port\fP \fIport\-number\fP
.sp
specifies the port on which the administration server listens for
connections.  The default port is determined by the
\fBkadmind_port\fP configuration variable in \fIkdc.conf(5)\fP.
.TP
.B \fB\-P\fP \fIpid_file\fP
.sp
specifies the file to which the PID of kadmind process should be
written after it starts up.  This file can be used to identify
whether kadmind is still running and to allow init scripts to stop
the correct process.
.TP
.B \fB\-x\fP \fIdb_args\fP
.sp
specifies database\-specific arguments.
.sp
Options supported for LDAP database are:
.INDENT 7.0
.INDENT 3.5
.INDENT 0.0
.TP
.B \fB\-x nconns=\fP\fInumber_of_connections\fP
.sp
specifies the number of connections to be maintained per
LDAP server.
.TP
.B \fB\-x host=\fP\fIldapuri\fP
.sp
specifies the LDAP server to connect to by URI.
.TP
.B \fB\-x binddn=\fP\fIbinddn\fP
.sp
specifies the DN of the object used by the administration
server to bind to the LDAP server.  This object should
have read and write privileges on the realm container, the
principal container, and the subtree that is referenced by
the realm.
.TP
.B \fB\-x bindpwd=\fP\fIbind_password\fP
.sp
specifies the password for the above mentioned binddn.
Using this option may expose the password to other users
on the system via the process list; to avoid this, instead
stash the password using the \fBstashsrvpw\fP command of
\fIkdb5_ldap_util(8)\fP.
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SH ACL FILE SYNTAX
.sp
The ACL file controls which principals can or cannot perform which
administrative functions.  For operations that affect principals, the
ACL file also controls which principals can operate on which other
principals.  Empty lines and lines starting with the sharp sign
(\fB#\fP) are ignored.  Lines containing ACL entries have the format:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
principal operation\-mask [operation\-target]
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Ordering is important.  The first matching entry will control access
for an actor principal on a target principal.
.INDENT 0.0
.TP
.B \fIprincipal\fP
.sp
may specify a partially or fully qualified Kerberos version 5
principal name.  Each component of the name may be wildcarded
using the \fB*\fP character.
.TP
.B \fIoperation\-target\fP
.sp
[Optional] may specify a partially or fully qualified Kerberos
version 5 principal name.  Each component of the name may be
wildcarded using the \fB*\fP character.
.TP
.B \fIoperation\-mask\fP
.sp
Specifies what operations may or may not be performed by a
principal matching a particular entry.  This is a string of one or
more of the following list of characters or their upper\-case
counterparts.  If the character is upper\-case, then the operation
is disallowed.  If the character is lower\-case, then the operation
is permitted.
.TS
center;
|l|l|.
_
T{
a
T}	T{
[Dis]allows the addition of principals or policies
T}
_
T{
d
T}	T{
[Dis]allows the deletion of principals or policies
T}
_
T{
m
T}	T{
[Dis]allows the modification of principals or policies
T}
_
T{
c
T}	T{
[Dis]allows the changing of passwords for principals
T}
_
T{
i
T}	T{
[Dis]allows inquiries about principals or policies
T}
_
T{
l
T}	T{
[Dis]allows the listing of principals or policies
T}
_
T{
p
T}	T{
[Dis]allows the propagation of the principal database
T}
_
T{
x
T}	T{
Short for admcil.
T}
_
T{
*
T}	T{
Same as x.
T}
_
.TE
.sp
Some examples of valid entries here are:
.INDENT 7.0
.TP
.B \fBuser/instance@realm adm\fP
.sp
A standard fully qualified name.  The \fIoperation\-mask\fP only
applies to this principal and specifies that [s]he may add,
delete, or modify principals and policies, but not change
anybody else\(aqs password.
.TP
.B \fBuser/instance@realm cim service/instance@realm\fP
.sp
A standard fully qualified name and a standard fully qualified
target.  The \fIoperation\-mask\fP only applies to this principal
operating on this target and specifies that [s]he may change
the target\(aqs password, request information about the target,
and modify it.
.TP
.B \fBuser/*@realm ac\fP
.sp
A wildcarded name.  The \fIoperation\-mask\fP applies to all
principals in realm \fBrealm\fP whose first component is
\fBuser\fP and specifies that [s]he may add principals and
change anybody\(aqs password.
.TP
.B \fBuser/*@realm i */instance@realm\fP
.sp
A wildcarded name and target.  The \fIoperation\-mask\fP applies to
all principals in realm \fBrealm\fP whose first component is
\fBuser\fP and specifies that [s]he may perform inquiries on
principals whose second component is \fBinstance\fP and realm is
\fBrealm\fP.
.UNINDENT
.UNINDENT
.SH SEE ALSO
.sp
\fIkpasswd(1)\fP, \fIkadmin(1)\fP, \fIkdb5_util(8)\fP,
\fIkdb5_ldap_util(8)\fP
.SH AUTHOR
MIT
.SH COPYRIGHT
2011, MIT
.\" Generated by docutils manpage writer.
.