Merge from vendor branch NTPD:
[dragonfly.git] / crypto / heimdal / kdc / kdc.8
1 .\" $Id: kdc.8,v 1.17 2002/08/28 21:09:05 joda Exp $
2 .\"
3 .Dd August 22, 2002
4 .Dt KDC 8
5 .Os HEIMDAL
6 .Sh NAME
7 .Nm kdc
8 .Nd Kerberos 5 server
9 .Sh SYNOPSIS
10 .Nm
11 .Oo Fl c Ar file \*(Ba Xo
12 .Fl -config-file= Ns Ar file
13 .Xc
14 .Oc
15 .Op Fl p | Fl -no-require-preauth
16 .Op Fl -max-request= Ns Ar size
17 .Op Fl H | Fl -enable-http
18 .Oo Fl r Ar string \*(Ba Xo
19 .Fl -v4-realm= Ns Ar string
20 .Xc
21 .Oc
22 .Op Fl K | Fl -no-kaserver
23 .Op Fl r Ar realm
24 .Op Fl -v4-realm= Ns Ar realm
25 .Oo Fl P Ar string \*(Ba Xo
26 .Fl -ports= Ns Ar string
27 .Xc
28 .Oc
29 .Op Fl -addresses= Ns Ar list of addresses
30 .Sh DESCRIPTION
31 .Nm
32 serves requests for tickets. When it starts, it first checks the flags
33 passed, any options that are not specified with a command line flag is
34 taken from a config file, or from a default compiled-in value.
35 .Pp
36 Options supported:
37 .Bl -tag -width Ds
38 .It Xo
39 .Fl c Ar file ,
40 .Fl -config-file= Ns Ar file
41 .Xc
42 Specifies the location of the config file, the default is
43 .Pa /var/heimdal/kdc.conf .
44 This is the only value that can't be specified in the config file.
45 .It Xo
46 .Fl p ,
47 .Fl -no-require-preauth
48 .Xc
49 Turn off the requirement for pre-autentication in the initial AS-REQ
50 for all principals. The use of pre-authentication makes it more
51 difficult to do offline password attacks. You might want to turn it
52 off if you have clients that doesn't do pre-authentication. Since the
53 version 4 protocol doesn't support any pre-authentication, so serving
54 version 4 clients is just about the same as not requiring
55 pre-athentication. The default is to require
56 pre-authentication. Adding the require-preauth per principal is a more
57 flexible way of handling this.
58 .It Xo
59 .Fl -max-request= Ns Ar size
60 .Xc
61 Gives an upper limit on the size of the requests that the kdc is
62 willing to handle.
63 .It Xo
64 .Fl H ,
65 .Fl -enable-http
66 .Xc
67 Makes the kdc listen on port 80 and handle requests encapsulated in HTTP.
68 .It Xo
69 .Fl K ,
70 .Fl -no-kaserver
71 .Xc
72 Disables kaserver emulation (in case it's compiled in).
73 .It Xo
74 .Fl r Ar realm ,
75 .Fl -v4-realm= Ns Ar realm
76 .Xc
77 What realm this server should act as when dealing with version 4
78 requests. The database can contain any number of realms, but since the
79 version 4 protocol doesn't contain a realm for the server, it must be
80 explicitly specified. The default is whatever is returned by
81 .Fn krb_get_lrealm .
82 This option is only availabe if the KDC has been compiled with version
83 4 support.
84 .It Xo
85 .Fl P Ar string ,
86 .Fl -ports= Ns Ar string
87 .Xc
88 Specifies the set of ports the KDC should listen on.  It is given as a
89 white-space separated list of services or port numbers.
90 .It Fl -addresses= Ns Ar list of addresses
91 The list of addresses to listen for requests on.  By default, the kdc
92 will listen on all the locally configured addresses.  If only a subset
93 is desired, or the automatic detection fails, this option might be used.
94 .El
95 .Pp
96 All activities , are logged to one or more destinations, see
97 .Xr krb5.conf 5 ,
98 and
99 .Xr krb5_openlog 3 .
100 The entity used for logging is
101 .Nm kdc .
102 .Sh CONFIGURATION FILE
103 The configuration file has the same syntax as 
104 .Xr krb5.conf 5 ,
105 but will be read before 
106 .Pa /etc/krb5.conf ,
107 so it may override settings found there. Options specific to the KDC
108 only are found in the
109 .Dq [kdc] 
110 section.
111 All the command-line options can preferably be added in the
112 configuration file.  The only difference is the pre-authentication flag,
113 that has to be specified as:
114 .Pp
115 .Dl require-preauth = no
116 .Pp
117 (in fact you can specify the option as
118 .Fl -require-preauth=no ) .
119 .Pp
120 And there are some configuration options which do not have
121 command-line equivalents:
122 .Bl -tag -width "xxx" -offset indent
123 .It Li check-ticket-addresses = Va boolean
124 Check the addresses in the ticket when processing TGS requests.  The
125 default is FALSE.
126 .It Li allow-null-ticket-addresses = Va boolean
127 Permit tickets with no addresses.  This option is only relevant when
128 check-ticket-addresses is TRUE.
129 .It Li allow-anonymous = Va boolean
130 Permit anonymous tickets with no addresses.
131 .It encode_as_rep_as_tgs_rep = Va boolean
132 Encode AS-Rep as TGS-Rep to be bug-compatible with old DCE code.  The
133 Heimdal clients allow both.
134 .It kdc_warn_pwexpire = Va time
135 How long before password/principal expiration the KDC should start
136 sending out warning messages.
137 .El
138 .Pp
139 An example of a config file:
140 .Bd -literal -offset indent
141 [kdc]
142         require-preauth = no
143         v4-realm = FOO.SE
144         key-file = /key-file
145 .Ed
146 .Sh BUGS
147 If the machine running the KDC has new addresses added to it, the KDC
148 will have to be restarted to listen to them. The reason it doesn't
149 just listen to wildcarded (like INADDR_ANY) addresses, is that the
150 replies has to come from the same address they were sent to, and most
151 OS:es doesn't pass this information to the application. If your normal
152 mode of operation require that you add and remove addresses, the best
153 option is probably to listen to a wildcarded TCP socket, and make sure
154 your clients use TCP to connect. For instance, this will listen to
155 IPv4 TCP port 88 only:
156 .Bd -literal -offset indent
157 kdc --addresses=0.0.0.0 --ports="88/tcp" 
158 .Ed
159 .Pp
160 There should be a way to specify protocol, port, and address triplets,
161 not just addresses and protocol, port tuples.
162 .Sh SEE ALSO
163 .Xr kinit 1 ,
164 .Xr krb5.conf 5