Handle picky windows RODC servers
[heimdal.git] / kadmin / kadmin-commands.in
blob4396ff800441968c165031dab865a5870d951132
1 /*
2  * Copyright (c) 2004 - 2007 Kungliga Tekniska Högskolan
3  * (Royal Institute of Technology, Stockholm, Sweden). 
4  * All rights reserved. 
5  *
6  * Redistribution and use in source and binary forms, with or without 
7  * modification, are permitted provided that the following conditions 
8  * are met: 
9  *
10  * 1. Redistributions of source code must retain the above copyright 
11  *    notice, this list of conditions and the following disclaimer. 
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright 
14  *    notice, this list of conditions and the following disclaimer in the 
15  *    documentation and/or other materials provided with the distribution. 
16  *
17  * 3. Neither the name of the Institute nor the names of its contributors 
18  *    may be used to endorse or promote products derived from this software 
19  *    without specific prior written permission. 
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 
22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
31  * SUCH DAMAGE. 
32  */
33 /* $Id$ */
35 command = {
36         name = "stash"
37         name = "kstash"
38         option = {
39                 long = "enctype"
40                 short = "e"
41                 type = "string"
42                 help = "encryption type"
43                 default = "des3-cbc-sha1"
44         }
45         option = {
46                 long = "key-file"
47                 short = "k"
48                 type = "string"
49                 argument = "file"
50                 help = "master key file"
51         }
52         option = {
53                 long = "convert-file"
54                 type = "flag"
55                 help = "just convert keyfile to new format"
56         }
57         option = {
58                 long = "random-password"
59                 type = "flag"
60                 help = "use a random password (and print the password to stdout)"
61         }
62         option = {
63                 long = "master-key-fd"
64                 type = "integer"
65                 argument = "fd"
66                 help = "filedescriptor to read passphrase from"
67                 default = "-1"
68         }
69         help = "Writes the Kerberos master key to a file used by the KDC. \nLocal (-l) mode only."
71 command = {
72         name = "dump"
73         option = {
74                 long = "decrypt"
75                 short = "d"
76                 type = "flag"
77                 help = "decrypt keys"
78         }
79         argument = "[dump-file]"
80         min_args = "0"
81         max_args = "1"
82         help = "Dumps the database in a human readable format to the specified file, \nor the standard out. Local (-l) mode only."
85 command = {
86         name = "init"
87         option = {
88                 long = "realm-max-ticket-life"
89                 type = "string"
90                 help = "realm max ticket lifetime"
91         }
92         option = {
93                 long = "realm-max-renewable-life"
94                 type = "string"
95                 help = "realm max renewable lifetime"
96         }
97         option = {
98                 long = "bare"
99                 type = "flag"
100                 help = "only create krbtgt for realm"
101         }
102         argument = "realm..."
103         min_args = "1"
104         help = "Initializes the default principals for a realm. Creates the database\nif necessary. Local (-l) mode only."
106 command = {
107         name = "load"
108         argument = "file"
109         min_args = "1"
110         max_args = "1"
111         help = "Loads a previously dumped file. Local (-l) mode only."
113 command = {
114         name = "merge"
115         argument = "file"
116         min_args = "1"
117         max_args = "1"
118         help = "Merges the contents of a dump file into the database. Local (-l) mode only."
120 command = {
121         name = "add"
122         name = "ank"
123         name = "add_new_key"
124         function = "add_new_key"
125         option = {
126                 long = "random-key"
127                 short = "r"
128                 type = "flag"
129                 help = "set random key"
130         }
131         option = {
132                 long = "random-password"
133                 type = "flag"
134                 help = "set random password"
135         }
136         option = {
137                 long = "password"
138                 short = "p"
139                 type = "string"
140                 help = "principal's password"
141         }
142         option = {
143                 long = "key"
144                 type = "string"
145                 help = "DES-key in hex"
146         }
147         option = {
148                 long = "max-ticket-life"
149                 type = "string"
150                 argument ="lifetime"
151                 help = "max ticket lifetime"
152         }
153         option = {
154                 long = "max-renewable-life"
155                 type = "string"
156                 argument = "lifetime"
157                 help = "max renewable life"
158         }
159         option = {
160                 long = "attributes"
161                 type = "string"
162                 argument = "attributes"
163                 help = "principal attributes"
164         }
165         option = {
166                 long = "expiration-time"
167                 type = "string"
168                 argument = "time"
169                 help = "principal expiration time"
170         }
171         option = {
172                 long = "pw-expiration-time"
173                 type = "string"
174                 argument = "time"
175                 help = "password expiration time"
176         }
177         option = {
178                 long = "use-defaults"
179                 type = "flag"
180                 help = "use default values"
181         }
182         argument = "principal..."
183         min_args = "1"
184         help = "Adds a principal to the database."
186 command = {
187         name = "passwd"
188         name = "cpw"
189         name = "change_password"
190         function = "cpw_entry"
191         option = {
192                 long = "random-key"
193                 short = "r"
194                 type = "flag"
195                 help = "set random key"
196         }
197         option = {
198                 long = "random-password"
199                 type = "flag"
200                 help = "set random password"
201         }
202         option = {
203                 long = "password"
204                 short = "p"
205                 type = "string"
206                 help = "princial's password"
207         }
208         option = {
209                 long = "key"
210                 type = "string"
211                 help = "DES key in hex"
212         }
213         argument = "principal..."
214         min_args = "1"
215         help = "Changes the password of one or more principals matching the expressions."
217 command = {
218         name = "delete"
219         name = "del"
220         name = "del_entry"
221         function = "del_entry"
222         argument = "principal..."
223         min_args = "1"
224         help = "Deletes all principals matching the expressions."
226 command = {
227         name = "del_enctype"
228         argument = "principal enctype..."
229         min_args = "2"
230         help = "Delete all the mentioned enctypes for principal."
232 command = {
233         name = "add_enctype"
234         option = {
235                 long = "random-key"
236                 short = "r"
237                 type = "flag"
238                 help = "set random key"
239         }
240         argument = "principal enctype..."
241         min_args = "2"
242         help = "Add new enctypes for principal."
244 command = {
245         name = "ext_keytab"
246         option = {
247                 long = "keytab"
248                 short = "k"
249                 type = "string"
250                 help = "keytab to use"
251         }
252         argument = "principal..."
253         min_args = "1"
254         help = "Extracts the keys of all principals matching the expressions, and stores them in a keytab." 
256 command = {
257         name = "get"
258         name = "get_entry"
259         function = "get_entry"
260         /* XXX sync options with "list" */
261         option = {
262                 long = "long"
263                 short = "l"
264                 type = "flag"
265                 help = "long format"
266                 default = "-1"
267         }
268         option = {
269                 long = "short"
270                 short = "s"
271                 type = "flag"
272                 help = "short format"
273         }
274         option = {
275                 long = "terse"
276                 short = "t"
277                 type = "flag"
278                 help = "terse format"
279         }
280         option = {
281                 long = "column-info"
282                 short = "o"
283                 type = "string"
284                 help = "columns to print for short output"
285         }
286         argument = "principal..."
287         min_args = "1"
288         help = "Shows information about principals matching the expressions."
290 command = {
291         name = "rename"
292         function = "rename_entry"
293         argument = "from to"
294         min_args = "2"
295         max_args = "2"
296         help = "Renames a principal."
298 command = {
299         name = "modify"
300         function = "mod_entry"
301         option = {
302                 long = "max-ticket-life"
303                 type = "string"
304                 argument ="lifetime"
305                 help = "max ticket lifetime"
306         }
307         option = {
308                 long = "max-renewable-life"
309                 type = "string"
310                 argument = "lifetime"
311                 help = "max renewable life"
312         }
313         option = {
314                 long = "attributes"
315                 short = "a"
316                 type = "string"
317                 argument = "attributes"
318                 help = "principal attributes"
319         }
320         option = {
321                 long = "expiration-time"
322                 type = "string"
323                 argument = "time"
324                 help = "principal expiration time"
325         }
326         option = {
327                 long = "pw-expiration-time"
328                 type = "string"
329                 argument = "time"
330                 help = "password expiration time"
331         }
332         option = {
333                 long = "kvno"
334                 type = "integer"
335                 help = "key version number"
336                 default = "-1"
337         }
338         option = {
339                 long = "constrained-delegation"
340                 type = "strings"
341                 argument = "principal"
342                 help = "allowed target principals"
343         }
344         option = {
345                 long = "alias"
346                 type = "strings"
347                 argument = "principal"
348                 help = "aliases"
349         }
350         option = {
351                 long = "pkinit-acl"
352                 type = "strings"
353                 argument = "subject dn"
354                 help = "aliases"
355         }
356         argument = "principal"
357         min_args = "1"
358         max_args = "1"
359         help = "Modifies some attributes of the specified principal."
361 command = {
362         name = "privileges"
363         name = "privs"
364         function = "get_privs"
365         help = "Shows which operations you are allowed to perform."
367 command = {
368         name = "list"
369         function = "list_princs"
370         /* XXX sync options with "get" */
371         option = {
372                 long = "long"
373                 short = "l"
374                 type = "flag"
375                 help = "long format"
376         }
377         option = {
378                 long = "short"
379                 short = "s"
380                 type = "flag"
381                 help = "short format"
382         }
383         option = {
384                 long = "terse"
385                 short = "t"
386                 type = "flag"
387                 help = "terse format"
388                 default = "-1"
389         }
390         option = {
391                 long = "column-info"
392                 short = "o"
393                 type = "string"
394                 help = "columns to print for short output"
395         }
396         argument = "principal..."
397         min_args = "1"
398         help = "Lists principals in a terse format. Equivalent to \"get -t\"." 
400 command = {
401         name = "verify-password-quality"
402         name = "pwq"
403         function = "password_quality"
404         argument = "principal password"
405         min_args = "2"
406         max_args = "2"
407         help = "Try run the password quality function locally (not doing RPC out to server)."
409 command = {
410         name = "check"
411         function = "check"
412         argument = "[realm]"
413         min_args = "0"
414         max_args = "1"
415         help = "Check the realm (if not given, the default realm) for configuration errors."
417 command = {
418         name = "help"
419         name = "?"
420         argument = "[command]"
421         min_args = "0"
422         max_args = "1"
423         help = "Help! I need somebody."
425 command = {
426         name = "exit"
427         name = "quit"
428         function = "exit_kadmin"
429         help = "Quits."