1c19800e8SDoug Rabson/* 2*ae771770SStanislav Sedov * Copyright (c) 2004 Kungliga Tekniska Högskolan 3c19800e8SDoug Rabson * (Royal Institute of Technology, Stockholm, Sweden). 4c19800e8SDoug Rabson * All rights reserved. 5c19800e8SDoug Rabson * 6c19800e8SDoug Rabson * Redistribution and use in source and binary forms, with or without 7c19800e8SDoug Rabson * modification, are permitted provided that the following conditions 8c19800e8SDoug Rabson * are met: 9c19800e8SDoug Rabson * 10c19800e8SDoug Rabson * 1. Redistributions of source code must retain the above copyright 11c19800e8SDoug Rabson * notice, this list of conditions and the following disclaimer. 12c19800e8SDoug Rabson * 13c19800e8SDoug Rabson * 2. Redistributions in binary form must reproduce the above copyright 14c19800e8SDoug Rabson * notice, this list of conditions and the following disclaimer in the 15c19800e8SDoug Rabson * documentation and/or other materials provided with the distribution. 16c19800e8SDoug Rabson * 17c19800e8SDoug Rabson * 3. Neither the name of the Institute nor the names of its contributors 18c19800e8SDoug Rabson * may be used to endorse or promote products derived from this software 19c19800e8SDoug Rabson * without specific prior written permission. 20c19800e8SDoug Rabson * 21c19800e8SDoug Rabson * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 22c19800e8SDoug Rabson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23c19800e8SDoug Rabson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24c19800e8SDoug Rabson * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 25c19800e8SDoug Rabson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26c19800e8SDoug Rabson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27c19800e8SDoug Rabson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28c19800e8SDoug Rabson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29c19800e8SDoug Rabson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30c19800e8SDoug Rabson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31c19800e8SDoug Rabson * SUCH DAMAGE. 32c19800e8SDoug Rabson */ 33*ae771770SStanislav Sedov/* $Id$ */ 34c19800e8SDoug Rabson 35c19800e8SDoug Rabsoncommand = { 36c19800e8SDoug Rabson name = "add" 37c19800e8SDoug Rabson option = { 38c19800e8SDoug Rabson long = "principal" 39c19800e8SDoug Rabson short = "p" 40c19800e8SDoug Rabson type = "string" 41c19800e8SDoug Rabson help = "principal to add" 42c19800e8SDoug Rabson argument = "principal" 43c19800e8SDoug Rabson default = "" 44c19800e8SDoug Rabson } 45c19800e8SDoug Rabson option = { 46c19800e8SDoug Rabson long = "kvno" 47c19800e8SDoug Rabson short = "V" 48c19800e8SDoug Rabson type = "integer" 49c19800e8SDoug Rabson help = "key version number" 50c19800e8SDoug Rabson default = "-1" 51c19800e8SDoug Rabson } 52c19800e8SDoug Rabson option = { 53c19800e8SDoug Rabson long = "enctype" 54c19800e8SDoug Rabson short = "e" 55c19800e8SDoug Rabson type = "string" 56c19800e8SDoug Rabson argument = "enctype" 57c19800e8SDoug Rabson help = "encryption type" 58c19800e8SDoug Rabson } 59c19800e8SDoug Rabson option = { 60c19800e8SDoug Rabson long = "password" 61c19800e8SDoug Rabson short = "w" 62c19800e8SDoug Rabson type = "string" 63c19800e8SDoug Rabson help = "password for key" 64c19800e8SDoug Rabson } 65c19800e8SDoug Rabson option = { 66c19800e8SDoug Rabson long = "salt" 67c19800e8SDoug Rabson short = "s" 68c19800e8SDoug Rabson type = "-flag" 69c19800e8SDoug Rabson help = "use unsalted keys" 70c19800e8SDoug Rabson default = "1" 71c19800e8SDoug Rabson } 72c19800e8SDoug Rabson option = { 73c19800e8SDoug Rabson long = "random" 74c19800e8SDoug Rabson short = "r" 75c19800e8SDoug Rabson type = "flag" 76c19800e8SDoug Rabson help = "generate random key" 77c19800e8SDoug Rabson } 78c19800e8SDoug Rabson option = { 79c19800e8SDoug Rabson long = "hex" 80c19800e8SDoug Rabson short = "H" 81c19800e8SDoug Rabson type = "flag" 82c19800e8SDoug Rabson help = "password is a hexadecimal string" 83c19800e8SDoug Rabson } 84c19800e8SDoug Rabson function = "kt_add" 85c19800e8SDoug Rabson help = "Adds a key to a keytab." 86c19800e8SDoug Rabson max_args = "0" 87c19800e8SDoug Rabson} 88c19800e8SDoug Rabsoncommand = { 89c19800e8SDoug Rabson name = "change" 90c19800e8SDoug Rabson option = { 91c19800e8SDoug Rabson long = "realm" 92c19800e8SDoug Rabson short = "r" 93c19800e8SDoug Rabson type = "string" 94c19800e8SDoug Rabson argument = "realm" 95c19800e8SDoug Rabson help = "realm to use" 96c19800e8SDoug Rabson } 97c19800e8SDoug Rabson option = { 98c19800e8SDoug Rabson long = "admin-server" 99c19800e8SDoug Rabson short = "a" 100c19800e8SDoug Rabson type = "string" 101c19800e8SDoug Rabson argument = "host" 102c19800e8SDoug Rabson help = "server to contact" 103c19800e8SDoug Rabson } 104c19800e8SDoug Rabson option = { 105c19800e8SDoug Rabson long = "server-port" 106c19800e8SDoug Rabson short = "s" 107c19800e8SDoug Rabson type = "integer" 108c19800e8SDoug Rabson argument = "port number" 109c19800e8SDoug Rabson help = "port number on server" 110c19800e8SDoug Rabson } 111c19800e8SDoug Rabson function = "kt_change" 112c19800e8SDoug Rabson argument = "[principal...]" 113c19800e8SDoug Rabson help = "Change keys for specified principals (default all)." 114c19800e8SDoug Rabson} 115c19800e8SDoug Rabsoncommand = { 116c19800e8SDoug Rabson name = "copy" 117c19800e8SDoug Rabson function = "kt_copy" 118c19800e8SDoug Rabson argument = "source destination" 119c19800e8SDoug Rabson min_args = "2" 120c19800e8SDoug Rabson max_args = "2" 121c19800e8SDoug Rabson help = "Copies one keytab to another." 122c19800e8SDoug Rabson} 123c19800e8SDoug Rabsoncommand = { 124c19800e8SDoug Rabson name = "get" 125c19800e8SDoug Rabson option = { 126c19800e8SDoug Rabson long = "principal" 127c19800e8SDoug Rabson short = "p" 128c19800e8SDoug Rabson type = "string" 129c19800e8SDoug Rabson help = "admin principal" 130c19800e8SDoug Rabson argument = "principal" 131c19800e8SDoug Rabson } 132c19800e8SDoug Rabson option = { 133c19800e8SDoug Rabson long = "enctypes" 134c19800e8SDoug Rabson short = "e" 135c19800e8SDoug Rabson type = "strings" 136c19800e8SDoug Rabson help = "encryption types to use" 137c19800e8SDoug Rabson argument = "enctype" 138c19800e8SDoug Rabson } 139c19800e8SDoug Rabson option = { 140c19800e8SDoug Rabson long = "realm" 141c19800e8SDoug Rabson short = "r" 142c19800e8SDoug Rabson type = "string" 143c19800e8SDoug Rabson argument = "realm" 144c19800e8SDoug Rabson help = "realm to use" 145c19800e8SDoug Rabson } 146c19800e8SDoug Rabson option = { 147c19800e8SDoug Rabson long = "admin-server" 148c19800e8SDoug Rabson short = "a" 149c19800e8SDoug Rabson type = "string" 150c19800e8SDoug Rabson argument = "host" 151c19800e8SDoug Rabson help = "server to contact" 152c19800e8SDoug Rabson } 153c19800e8SDoug Rabson option = { 154c19800e8SDoug Rabson long = "server-port" 155c19800e8SDoug Rabson short = "s" 156c19800e8SDoug Rabson type = "integer" 157c19800e8SDoug Rabson argument = "port number" 158c19800e8SDoug Rabson help = "port number on server" 159c19800e8SDoug Rabson } 160c19800e8SDoug Rabson function = "kt_get" 161c19800e8SDoug Rabson min_args = "1" 162c19800e8SDoug Rabson argument = "principal..." 163c19800e8SDoug Rabson help = "Change keys for specified principals, and add them to the keytab." 164c19800e8SDoug Rabson} 165c19800e8SDoug Rabsoncommand = { 166c19800e8SDoug Rabson name = "list" 167c19800e8SDoug Rabson option = { 168c19800e8SDoug Rabson long = "keys" 169c19800e8SDoug Rabson type = "flag" 170c19800e8SDoug Rabson help = "show key values" 171c19800e8SDoug Rabson } 172c19800e8SDoug Rabson option = { 173c19800e8SDoug Rabson long = "timestamp" 174c19800e8SDoug Rabson type = "flag" 175c19800e8SDoug Rabson help = "show timestamps" 176c19800e8SDoug Rabson } 177c19800e8SDoug Rabson max_args = "0" 178c19800e8SDoug Rabson function = "kt_list" 179c19800e8SDoug Rabson help = "Show contents of keytab." 180c19800e8SDoug Rabson} 181c19800e8SDoug Rabsoncommand = { 182c19800e8SDoug Rabson name = "purge" 183c19800e8SDoug Rabson option = { 184c19800e8SDoug Rabson long = "age" 185c19800e8SDoug Rabson type = "string" 186c19800e8SDoug Rabson help = "age to retiere" 187c19800e8SDoug Rabson default = "1 week"; 188c19800e8SDoug Rabson argument = "time" 189c19800e8SDoug Rabson } 190c19800e8SDoug Rabson max_args = "0" 191c19800e8SDoug Rabson function = "kt_purge" 192c19800e8SDoug Rabson help = "Remove superceded keys from keytab." 193c19800e8SDoug Rabson} 194c19800e8SDoug Rabsoncommand = { 195c19800e8SDoug Rabson name = "remove" 196c19800e8SDoug Rabson name = "delete" 197c19800e8SDoug Rabson option = { 198c19800e8SDoug Rabson long = "principal" 199c19800e8SDoug Rabson short = "p" 200c19800e8SDoug Rabson type = "string" 201c19800e8SDoug Rabson help = "principal to remove" 202c19800e8SDoug Rabson argument = "principal" 203c19800e8SDoug Rabson } 204c19800e8SDoug Rabson option = { 205c19800e8SDoug Rabson long = "kvno" 206c19800e8SDoug Rabson short = "V" 207c19800e8SDoug Rabson type = "integer" 208c19800e8SDoug Rabson help = "key version to remove" 209c19800e8SDoug Rabson argument = "enctype" 210c19800e8SDoug Rabson default = "0" 211c19800e8SDoug Rabson } 212c19800e8SDoug Rabson option = { 213c19800e8SDoug Rabson long = "enctype" 214c19800e8SDoug Rabson short = "e" 215c19800e8SDoug Rabson type = "string" 216c19800e8SDoug Rabson help = "enctype to remove" 217c19800e8SDoug Rabson argument = "enctype" 218c19800e8SDoug Rabson } 219c19800e8SDoug Rabson max_args = "0" 220c19800e8SDoug Rabson function = "kt_remove" 221c19800e8SDoug Rabson help = "Remove keys from keytab." 222c19800e8SDoug Rabson} 223c19800e8SDoug Rabsoncommand = { 224c19800e8SDoug Rabson name = "rename" 225c19800e8SDoug Rabson function = "kt_rename" 226c19800e8SDoug Rabson argument = "from to" 227c19800e8SDoug Rabson min_args = "2" 228c19800e8SDoug Rabson max_args = "2" 229c19800e8SDoug Rabson help = "Renames an entry in the keytab." 230*ae771770SStanislav Sedov option = { 231*ae771770SStanislav Sedov long = "delete" 232*ae771770SStanislav Sedov type = "-flag" 233*ae771770SStanislav Sedov help = "don't delete orignal entry" 234*ae771770SStanislav Sedov } 235c19800e8SDoug Rabson} 236c19800e8SDoug Rabsoncommand = { 237*ae771770SStanislav Sedov name = "destroy" 238*ae771770SStanislav Sedov function = "kt_destroy" 239c19800e8SDoug Rabson max_args = "0" 240*ae771770SStanislav Sedov help = "Destroy (remove) the keytab." 241c19800e8SDoug Rabson} 242c19800e8SDoug Rabsoncommand = { 243c19800e8SDoug Rabson name = "help" 244c19800e8SDoug Rabson argument = "command" 245c19800e8SDoug Rabson max_args = "1" 246c19800e8SDoug Rabson function = "help" 247c19800e8SDoug Rabson} 248