#!/bin/sh
-export KRB5CCNAME=/tmp/krb5cc_$(id -u).root
+
+usage="Usage: $0 [-i instance] [-p principal] [-a addrend] subcommand [args]"
+
+principal="$ATHENA_USER/root@ATHENA.MIT.EDU"
+addrend="root"
+while getopts "i:p:a:h" options; do
+ case $options in
+ i ) addrend="$OPTARG"; principal="$ATHENA_USER/$OPTARG@ATHENA.MIT.EDU";;
+ p ) principal="$OPTARG";;
+ a ) addrend="$OPTARG";;
+ h ) echo "$usage"; exit 0;;
+ \? ) echo "$usage"; exit 1;;
+ * ) echo "$usage"; exit 1;;
+ esac
+done
+shift `expr $OPTIND - 1 || :`
+
+export KRB5CCNAME="/tmp/krb5cc_$(id -u).$addrend"
export KRBTKFILE=/dev/null
+init () {
+ kinit -F -5 -l15m "$principal" "$@"
+}
+
case $1 in
init)
shift;
- exec kinit -F -5 -l15m $ATHENA_USER/root@ATHENA.MIT.EDU "$@"
+ exec kinit -F -5 -l15m "$principal" "$@"
;;
destroy)
exec kdestroy -5
;;
shell)
- klist -s || krbroot init || exit 1;
- HOST="`hostname` (krbroot)" pagsh -c $SHELL
+ klist -s || init || exit 1;
+ HOST="`hostname` (krb:$addrend)" pagsh -c $SHELL
;;
screen)
- klist -s || krbroot init || exit 1;
- HOST="`hostname` (krbroot)" pagsh -c 'exec "$@"' exec "$@"
+ klist -s || init || exit 1;
+ HOST="`hostname` (krb:$addrend)" pagsh -c 'exec "$@"' exec "$@"
;;
ssh)
- klist -s || krbroot init || exit 1;
+ klist -s || init || exit 1;
shift
exec ssh -k -l root "$@"
;;
rlogin)
- klist -s || krbroot init || exit 1;
+ klist -s || init || exit 1;
exec rlogin -x -l root $2
;;
*)