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
|
.\" Man page generated from reStructuredText.
.
.TH "KPROPD" "8" " " "1.14.3" "MIT Kerberos"
.SH NAME
kpropd \- Kerberos V5 slave KDC update 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
..
.SH SYNOPSIS
.sp
\fBkpropd\fP
[\fB\-r\fP \fIrealm\fP]
[\fB\-A\fP \fIadmin_server\fP]
[\fB\-a\fP \fIacl_file\fP]
[\fB\-f\fP \fIslave_dumpfile\fP]
[\fB\-F\fP \fIprincipal_database\fP]
[\fB\-p\fP \fIkdb5_util_prog\fP]
[\fB\-P\fP \fIport\fP]
[\fB\-d\fP]
[\fB\-t\fP]
.SH DESCRIPTION
.sp
The \fIkpropd\fP command runs on the slave KDC server. It listens for
update requests made by the \fIkprop(8)\fP program. If incremental
propagation is enabled, it periodically requests incremental updates
from the master KDC.
.sp
When the slave receives a kprop request from the master, kpropd
accepts the dumped KDC database and places it in a file, and then runs
\fIkdb5_util(8)\fP to load the dumped database into the active
database which is used by \fIkrb5kdc(8)\fP\&. This allows the master
Kerberos server to use \fIkprop(8)\fP to propagate its database to
the slave servers. Upon a successful download of the KDC database
file, the slave Kerberos server will have an up\-to\-date KDC database.
.sp
Where incremental propagation is not used, kpropd is commonly invoked
out of inetd(8) as a nowait service. This is done by adding a line to
the \fB/etc/inetd.conf\fP file which looks like this:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
kprop stream tcp nowait root /usr/local/sbin/kpropd kpropd
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
kpropd can also run as a standalone daemon, backgrounding itself and
waiting for connections on port 754 (or the port specified with the
\fB\-P\fP option if given). Standalone mode is required for incremental
propagation. Starting in release 1.11, kpropd automatically detects
whether it was run from inetd and runs in standalone mode if it is
not. Prior to release 1.11, the \fB\-S\fP option is required to run
kpropd in standalone mode; this option is now accepted for backward
compatibility but does nothing.
.sp
Incremental propagation may be enabled with the \fBiprop_enable\fP
variable in \fIkdc.conf(5)\fP\&. If incremental propagation is
enabled, the slave periodically polls the master KDC for updates, at
an interval determined by the \fBiprop_slave_poll\fP variable. If the
slave receives updates, kpropd updates its log file with any updates
from the master. \fIkproplog(8)\fP can be used to view a summary of
the update entry log on the slave KDC. If incremental propagation is
enabled, the principal \fBkiprop/slavehostname@REALM\fP (where
\fIslavehostname\fP is the name of the slave KDC host, and \fIREALM\fP is the
name of the Kerberos realm) must be present in the slave\(aqs keytab
file.
.sp
\fIkproplog(8)\fP can be used to force full replication when iprop is
enabled.
.SH OPTIONS
.INDENT 0.0
.TP
.B \fB\-r\fP \fIrealm\fP
Specifies the realm of the master server.
.TP
.B \fB\-A\fP \fIadmin_server\fP
Specifies the server to be contacted for incremental updates; by
default, the master admin server is contacted.
.TP
.B \fB\-f\fP \fIfile\fP
Specifies the filename where the dumped principal database file is
to be stored; by default the dumped database file is \fB@LOCALSTATEDIR@\fP\fB/krb5kdc\fP\fB/from_master\fP\&.
.TP
.B \fB\-p\fP
Allows the user to specify the pathname to the \fIkdb5_util(8)\fP
program; by default the pathname used is \fB@SBINDIR@\fP\fB/kdb5_util\fP\&.
.TP
.B \fB\-d\fP
Turn on debug mode. In this mode, kpropd will not detach
itself from the current job and run in the background. Instead,
it will run in the foreground and print out debugging messages
during the database propagation.
.TP
.B \fB\-t\fP
In standalone mode without incremental propagation, exit after one
dump file is received. In incremental propagation mode, exit as
soon as the database is up to date, or if the master returns an
error.
.TP
.B \fB\-P\fP
Allow for an alternate port number for kpropd to listen on. This
is only useful in combination with the \fB\-S\fP option.
.TP
.B \fB\-a\fP \fIacl_file\fP
Allows the user to specify the path to the kpropd.acl file; by
default the path used is \fB@LOCALSTATEDIR@\fP\fB/krb5kdc\fP\fB/kpropd.acl\fP\&.
.UNINDENT
.SH ENVIRONMENT
.sp
kpropd uses the following environment variables:
.INDENT 0.0
.IP \(bu 2
\fBKRB5_CONFIG\fP
.IP \(bu 2
\fBKRB5_KDC_PROFILE\fP
.UNINDENT
.SH FILES
.INDENT 0.0
.TP
.B kpropd.acl
Access file for kpropd; the default location is
\fB/usr/local/var/krb5kdc/kpropd.acl\fP\&. Each entry is a line
containing the principal of a host from which the local machine
will allow Kerberos database propagation via \fIkprop(8)\fP\&.
.UNINDENT
.SH SEE ALSO
.sp
\fIkprop(8)\fP, \fIkdb5_util(8)\fP, \fIkrb5kdc(8)\fP, inetd(8)
.SH AUTHOR
MIT
.SH COPYRIGHT
1985-2016, MIT
.\" Generated by docutils manpage writer.
.
|