1KADM5.ACL(5)                     MIT Kerberos                     KADM5.ACL(5)
2
3
4

NAME

6       kadm5.acl - Kerberos ACL file
7

DESCRIPTION

9       The  Kerberos  kadmind daemon uses an Access Control List (ACL) file to
10       manage access rights to the Kerberos database.  For operations that af‐
11       fect  principals, the ACL file also controls which principals can oper‐
12       ate on which other principals.
13
14       The  default  location  of  the  Kerberos   ACL   file   is   /var/ker‐
15       beros/krb5kdc/kadm5.acl   unless  this  is  overridden  by the acl_file
16       variable in kdc.conf.
17

SYNTAX

19       Empty lines and lines starting with the sharp  sign  (#)  are  ignored.
20       Lines containing ACL entries have the format:
21
22          principal  permissions  [target_principal  [restrictions] ]
23
24       NOTE:
25          Line  order  in the ACL file is important.  The first matching entry
26          will control access for an actor principal on a target principal.
27
28       principal
29              (Partially or fully qualified Kerberos principal  name.)  Speci‐
30              fies the principal whose permissions are to be set.
31
32              Each component of the name may be wildcarded using the * charac‐
33              ter.
34
35       permissions
36              Specifies what operations may or may not be performed by a prin‐
37              cipal  matching  a particular entry.  This is a string of one or
38              more of the following list of  characters  or  their  upper-case
39              counterparts.   If  the character is upper-case, then the opera‐
40              tion is disallowed.  If the character is  lower-case,  then  the
41              operation is permitted.
42
43                              ┌──┬────────────────────────────┐
44                              │a │ [Dis]allows  the  addition │
45                              │  │ of principals or policies  │
46                              ├──┼────────────────────────────┤
47                              │c │ [Dis]allows  the  changing │
48                              │  │ of  passwords  for princi‐ │
49                              │  │ pals                       │
50                              ├──┼────────────────────────────┤
51                              │d │ [Dis]allows  the  deletion │
52                              │  │ of principals or policies  │
53                              ├──┼────────────────────────────┤
54                              │e │ [Dis]allows the extraction │
55                              │  │ of principal keys          │
56                              ├──┼────────────────────────────┤
57                              │i │ [Dis]allows      inquiries │
58                              │  │ about  principals or poli‐ │
59                              │  │ cies                       │
60                              ├──┼────────────────────────────┤
61                              │l │ [Dis]allows the listing of │
62                              │  │ all principals or policies │
63                              └──┴────────────────────────────┘
64
65
66
67                              │m │ [Dis]allows  the modifica‐ │
68                              │  │ tion  of   principals   or │
69                              │  │ policies                   │
70                              ├──┼────────────────────────────┤
71                              │p │ [Dis]allows  the  propaga‐ │
72                              │  │ tion  of   the   principal │
73                              │  │ database      (used     in │
74                              │  │ Incremental database prop‐
75                              │  │ agation)                   │
76                              ├──┼────────────────────────────┤
77                              │s │ [Dis]allows  the  explicit │
78                              │  │ setting of the key  for  a │
79                              │  │ principal                  │
80                              ├──┼────────────────────────────┤
81                              │x │ Short  for  admcilsp.  All │
82                              │  │ privileges (except e)      │
83                              ├──┼────────────────────────────┤
84                              │* │ Same as x.                 │
85                              └──┴────────────────────────────┘
86
87       NOTE:
88          The extract privilege is not included in the wildcard privilege;  it
89          must  be explicitly assigned.  This privilege allows the user to ex‐
90          tract keys from the database, and must be handled with great care to
91          avoid  disclosure  of  important  keys like those of the kadmin/* or
92          krbtgt/* principals.  The lockdown_keys principal attribute  can  be
93          used  to  prevent key extraction from specific principals regardless
94          of the granted privilege.
95
96       target_principal
97              (Optional.  Partially  or  fully  qualified  Kerberos  principal
98              name.)   Specifies the principal on which permissions may be ap‐
99              plied.  Each component of the name may be wildcarded using the *
100              character.
101
102              target_principal  can also include back-references to principal,
103              in which *number matches the corresponding wildcard  in  princi‐
104              pal.
105
106       restrictions
107              (Optional) A string of flags. Allowed restrictions are:
108
109                 {+|-}flagname
110                        flag  is forced to the indicated value.  The permissi‐
111                        ble flags are the same as those for the  default_prin‐
112                        cipal_flags variable in kdc.conf.
113
114                 -clearpolicy
115                        policy is forced to be empty.
116
117                 -policy pol
118                        policy is forced to be pol.
119
120                 -{expire, pwexpire, maxlife, maxrenewlife} time
121                        (getdate  time string) associated value will be forced
122                        to MIN(time, requested value).
123
124              The above flags act as restrictions on any add or modify  opera‐
125              tion which is allowed due to that ACL line.
126
127       WARNING:
128          If  the kadmind ACL file is modified, the kadmind daemon needs to be
129          restarted for changes to take effect.
130

EXAMPLE

132       Here is an example of a kadm5.acl file:
133
134          */admin@ATHENA.MIT.EDU    *                               # line 1
135          joeadmin@ATHENA.MIT.EDU   ADMCIL                          # line 2
136          joeadmin/*@ATHENA.MIT.EDU i   */root@ATHENA.MIT.EDU       # line 3
137          */root@ATHENA.MIT.EDU     ci  *1@ATHENA.MIT.EDU           # line 4
138          */root@ATHENA.MIT.EDU     l   *                           # line 5
139          sms@ATHENA.MIT.EDU        x   * -maxlife 9h -postdateable # line 6
140
141       (line 1) Any principal in the ATHENA.MIT.EDU realm with  an  admin  in‐
142       stance has all administrative privileges except extracting keys.
143
144       (lines  1-3)  The  user  joeadmin has all permissions except extracting
145       keys with his admin  instance,  joeadmin/admin@ATHENA.MIT.EDU  (matches
146       line  1).   He has no permissions at all with his null instance, joead‐
147       min@ATHENA.MIT.EDU (matches line 2).  His  root  and  other  non-admin,
148       non-null  instances  (e.g.,  extra or dbadmin) have inquire permissions
149       with any principal that has the instance root (matches line 3).
150
151       (line 4) Any root principal in ATHENA.MIT.EDU can inquire or change the
152       password  of  their  null  instance,  but  not any other null instance.
153       (Here, *1 denotes a back-reference to the component matching the  first
154       wildcard in the actor principal.)
155
156       (line  5) Any root principal in ATHENA.MIT.EDU can generate the list of
157       principals in the database, and the list of policies in  the  database.
158       This  line is separate from line 4, because list permission can only be
159       granted globally, not to specific target principals.
160
161       (line   6)   Finally,   the   Service   Management   System   principal
162       sms@ATHENA.MIT.EDU  has all permissions except extracting keys, but any
163       principal that it creates or modifies will not be able to get postdate‐
164       able tickets or tickets with a life of longer than 9 hours.
165

MODULE BEHAVIOR

167       The  ACL  file  can coexist with other authorization modules in release
168       1.16 and later, as configured in the kadm5_auth  interface  section  of
169       krb5.conf.  The ACL file will positively authorize operations according
170       to the rules above, but will never authoritatively deny  an  operation,
171       so  other  modules can authorize operations in addition to those autho‐
172       rized by the ACL file.
173
174       To operate without an ACL file, set the acl_file variable  in  kdc.conf
175       to the empty string with acl_file = "".
176

SEE ALSO

178       kdc.conf, kadmind
179

AUTHOR

181       MIT
182
184       1985-2022, MIT
185
186
187
188
1891.19.2                                                            KADM5.ACL(5)
Impressum