~ubuntu-branches/ubuntu/precise/krb5/precise-updates

« back to all changes in this revision

Viewing changes to doc/rst_source/krb_admins/admin_commands/kadmind.rst

  • Committer: Package Import Robot
  • Author(s): Sam Hartman
  • Date: 2011-12-01 19:34:41 UTC
  • mfrom: (28.1.14 sid)
  • Revision ID: package-import@ubuntu.com-20111201193441-9tipg3aru1jsidyv
Tags: 1.10+dfsg~alpha1-6
* Fix segfault with unknown hostnames in krb5_sname_to_principal,
  Closes: #650671
* Indicate that this library breaks libsmbclient versions that depend on
  krb5_locate_kdc, Closes: #650603, #650611

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. _kadmind(8):
 
2
 
 
3
kadmind
 
4
==========
 
5
 
 
6
SYNOPSIS
 
7
-----------
 
8
       
 
9
**kadmind** [**-x** *db_args*] [**-r** *realm*] [**-m**] [**-nofork**] [**-port** *port-number*] [**-P** *pid_file*]
 
10
 
 
11
DESCRIPTION
 
12
-----------
 
13
 
 
14
This command starts the KADM5 administration server. If the database is db2, the administration server runs on the master Kerberos server, 
 
15
which stores the KDC prinicpal database and the KADM5 policy database. If the database is LDAP, the administration server and
 
16
the KDC server need not run on the same machine.  *kadmind* accepts remote requests to administer the information in these databases.
 
17
Remote requests are sent, for example, by kadmin(8) and the kpasswd(1) command, both of which are clients of *kadmind*.
 
18
 
 
19
*kadmind* requires a number of configuration files to be set up in order for it to work:
 
20
 
 
21
:ref:`kdc.conf`  
 
22
            The KDC configuration file contains configuration informatin for the KDC and the KADM5 system.  *kadmind* understands a number
 
23
            of  variable  settings in this file, some of whch are mandatory and some of which are optional.
 
24
            See the CONFIGURATION VALUES section below.
 
25
 
 
26
*keytab*    
 
27
            Kadmind requires a keytab containing correct entries for the kadmin/admin and kadmin/changepw principals for every realm that
 
28
            *kadmind* will answer requests for.  The keytab can be created with the kadmin(8) client.
 
29
            The location of the keytab is determined by the *admin_keytab* configuration variable (see CONFIGURATION VALUES).
 
30
 
 
31
*ACL* file 
 
32
            *kadmind*'s *ACL* (access control list) tells it which principals are allowed to perform KADM5 administration actions.
 
33
            The  path of  the *ACL* file is specified via the acl_file configuration variable (see CONFIGURATION VALUES).
 
34
            The syntax of the *ACL* file is specified in the *ACL* FILE SYNTAX section below.
 
35
            
 
36
            If the *kadmind*'s ACL file is modified, the *kadmind* daemon needs to be restarted for changes to take effect.
 
37
 
 
38
After the server begins running, it puts itself in the background and disassociates itself from its controlling terminal.
 
39
 
 
40
*kadmind* can be configured for incremental database propagation.  Incremental propagation allows slave KDC servers to receive  principal
 
41
and  policy  updates  incrementally instead of receiving full dumps of the database.  This facility can be enabled in the :ref:`kdc.conf` file
 
42
with the *iprop_enable* option.  See the :ref:`kdc.conf` documentation for other options for tuning incremental propagation parameters.
 
43
Incremental propagation requires the principal "kiprop/MASTER\@REALM" i
 
44
(where MASTER is the master KDC's canonical host name, and REALM the realm name) to be registered in the database.
 
45
 
 
46
 
 
47
OPTIONS
 
48
-----------
 
49
 
 
50
       **-x** *db_args*
 
51
              specifies the database specific arguments.
 
52
 
 
53
              Options supported for LDAP database are:
 
54
 
 
55
                   **-x** *nconns* =<number_of_connections>
 
56
                          specifies the number of connections to be maintained per LDAP server.
 
57
 
 
58
                   **-x** *host* =<ldapuri>
 
59
                          specifies the LDAP server to connect to by a LDAP URI.
 
60
 
 
61
                   **-x** *binddn* =<binddn>
 
62
                          specifies the DN of the object used by the administration server to bind to the LDAP server.  This object should have the
 
63
                          read and write rights on the realm container, principal container and the subtree that is referenced by the realm.
 
64
 
 
65
                   **-x** *bindpwd* =<bind_password>
 
66
                          specifies the password for the above mentioned binddn. It is recommended not to use this option.
 
67
                          Instead, the password can be stashed using the stashsrvpw command of kdb5_ldap_util.
 
68
 
 
69
       **-r** *realm*
 
70
              specifies the default realm that *kadmind* will serve; if it is not specified, the default realm of the host is used.
 
71
              *kadmind* will answer requests for any realm that exists in the local KDC database and for which the appropriate principals are in its keytab.
 
72
 
 
73
       **-m**
 
74
              specifies that the master database password should be fetched from the keyboard rather than from a file on disk.
 
75
              Note that the server gets the password prior to putting itself in the background; 
 
76
              in combination with the *-nofork* option, you must place it in the background by hand.
 
77
 
 
78
       **-nofork**
 
79
              specifies that the server does not put itself in the background and does not disassociate itself from the terminal.
 
80
              In normal operation, you should always allow the server place itself in the background.
 
81
 
 
82
       **-port** *port-number*
 
83
              specifies the port on which the administration server listens for connections.  The default is is controlled by the *kadmind_port*
 
84
              configuration variable (see below).
 
85
 
 
86
       **-P** *pid_file*
 
87
              specifies the file to which the PID of *kadmind* process should be written to after it starts up.  This can be used to identify
 
88
              whether *kadmind* is still running and to allow init scripts to stop the correct process.
 
89
 
 
90
CONFIGURATION VALUES
 
91
---------------------------
 
92
 
 
93
In addition to the relations defined in kdc.conf(5), *kadmind* understands the following relations, 
 
94
all of which should appear in the [realms] section:
 
95
 
 
96
       **acl_file**
 
97
              The path of *kadmind*'s *ACL* file.  **Mandatory**.  No default.
 
98
 
 
99
       **admin_keytab**
 
100
              The  name  of  the keytab containing entries for the principals kadmin/admin and kadmin/changepw in each realm that *kadmind* will
 
101
              serve.  The default is the value of the KRB5_KTNAME environment variable, if defined.  **Mandatory**.
 
102
 
 
103
       **dict_file**
 
104
              The path of *kadmind*'s password dictionary.  A principal with any password policy will not be allowed to select any  password  in
 
105
              the dictionary.  Optional.  No default.
 
106
 
 
107
       **kadmind_port**
 
108
              The TCP port on which *kadmind* will listen.  The default is 749.
 
109
 
 
110
*ACL* FILE SYNTAX
 
111
-------------------
 
112
 
 
113
The *ACL* file controls which principals can or cannot perform which administrative functions.  For operations  that  affect  principals,
 
114
the  *ACL* file also controls which principals can operate on which other principals.  This file can contain comment lines, null lines or
 
115
lines which contain *ACL* entries.  Comment lines start with the sharp sign (#) and continue until the end of the line.  
 
116
Lines containing *ACL* entries have the format of principal whitespace *operation-mask* [whitespace *operation-target*]
 
117
 
 
118
Ordering  is important.  The first matching entry is the one which will control access for a particular principal on a particular principal.
 
119
 
 
120
       **principal**
 
121
              may specify a partially or fully qualified Kerberos version 5 principal name.  Each component of  the  name  may  be  wildcarded
 
122
              using the asterisk ( * ) character.
 
123
 
 
124
       **operation-target**
 
125
              [Optional]  may specify a partially or fully qualified Kerberos version 5 principal name.  Each component of the name may be
 
126
              wildcarded using the asterisk ( \* ) character.
 
127
 
 
128
       **operation-mask**
 
129
              Specifies what operations may or may not be peformed by a principal matching a particular entry.  This is a string of one or
 
130
              more of the following list of characters or their upper-case counterparts.  If the character is upper-case, then the operation
 
131
              is disallowed.  If the character is lower-case, then the operation is permitted.
 
132
 
 
133
              ::
 
134
 
 
135
                  a    [Dis]allows the addition of principals or policies in the database.
 
136
                  d    [Dis]allows the deletion of principals or policies in the database.
 
137
                  m    [Dis]allows the modification of principals or policies in the database.
 
138
                  c    [Dis]allows the changing of passwords for principals in the database.
 
139
                  i    [Dis]allows inquiries to the database.
 
140
                  l    [Dis]allows the listing of principals or policies in the database.
 
141
                  p    [Dis]allows the propagation of the principal database.
 
142
                  x    Short for admcil.
 
143
                  *    Same as x.
 
144
       
 
145
              Some examples of valid entries here are:
 
146
 
 
147
 
 
148
              *user/instance@realm adm*
 
149
                  A standard fully qualified name.  
 
150
                  The *operation-mask* only applies to this principal and specifies that [s]he may add, 
 
151
                  delete  or modify principals and policies, but not change anybody else's password.
 
152
 
 
153
              *user/instance@realm cim service/instance@realm*
 
154
                  A  standard fully qualified name and a standard fully qualified target.  
 
155
                  The *operation-mask* only applies to this principal operating on this target and specifies 
 
156
                  that [s]he may change the target's password, request information about the target and  modify it.
 
157
 
 
158
              *user/\*@realm ac*
 
159
                  A  wildcarded name.  The *operation-mask* applies to all principals in realm "realm" whose first component is "user" and specifies
 
160
                  that [s]he may add principals and change anybody's password.
 
161
 
 
162
              *user/\*@realm i \*/instance@realm*
 
163
                  A wildcarded name and target.  The *operation-mask* applies to all principals in realm "realm" whose first component is "user" and
 
164
                  specifies that [s]he may perform inquiries on principals whose second component is "instance" and realm is "realm".
 
165
 
 
166
FILES
 
167
-----------
 
168
 
 
169
Note: The first three files are specific to db2 database.
 
170
 
 
171
==================== ===================================================================
 
172
principal.db          default name for Kerberos principal database
 
173
<dbname>.kadm5        KADM5  administrative database.  (This would be "principal.kadm5", if you use the default database name.)  Contains policy information.
 
174
<dbname>.kadm5.lock   lock file for the KADM5 administrative database.  This file works backwards from most other lock files.  I.e., kadmin will exit with an error if this file does not exist.
 
175
kadm5.acl             file containing list of principals and their kadmin administrative privileges.  See above for a description.
 
176
kadm5.keytab          keytab file for *kadmin/admin* principal.
 
177
kadm5.dict            file containing dictionary of strings explicitly disallowed as passwords.
 
178
==================== ===================================================================
 
179
 
 
180
SEE ALSO
 
181
-----------
 
182
 
 
183
kpasswd(1), kadmin(8), kdb5_util(8), kadm5_export(8), kadm5_import(8), kdb5_ldap_util(8)
 
184
 
 
185