4 # returns a list of principals in the keytab
5 # sorted and uniquified
7 klist -k $keytab | awk '(NR > 3) {print $2}' | sort | uniq
11 if [ x$command != x ] ; then
12 cmd_error Only one command can be specified
19 #interactive_prompt prompt princ
20 # If in interactive mode return true if the principal should be acted on
21 # otherwise return true all the time
22 interactive_prompt() {
23 if [ $interactive = 0 ] ; then
26 printf "%s for %s? [yn]" "$1" "$2"
41 echo "Usage: $0 [-i] [-f file] list|change|delete|delold"
48 for princ in $princs; do
49 if interactive_prompt "Change key " $princ; then
50 kadmin -k -t $keytab -p $princ -q "ktadd -k $keytab $princ"
57 for princ in $princs; do
58 if interactive_prompt "Delete old keys " $princ; then
59 kadmin -k -t $keytab -p $princ -q "ktrem -k $keytab $princ old"
67 for princ in $princs; do
68 if interactive_prompt "Delete all keys " $princ; then
69 kadmin -p $princ -k -t $keytab -q "ktrem -k $keytab $princ all"
75 keytab=/etc/krb5.keytab
78 while [ $# -gt 0 ] ; do
89 change|delold|delete|list)
93 cmd_error Illegal option: $opt