Add a "screen" subcommand to krbroot
[user/alex/software/my-snippets.git] / krbroot
1 #!/bin/sh
2 export KRB5CCNAME=/tmp/krb5cc_$(id -u).root
3 export KRBTKFILE=/dev/null
4
5 case $1 in
6     init)
7         shift;
8         exec kinit -F -5 -l15m $ATHENA_USER/root@ATHENA.MIT.EDU "$@"
9         ;;
10     destroy)
11         exec kdestroy -45
12         ;;
13     shell)
14         klist -s || krbroot init || exit 1;
15         HOST="`hostname` (krbroot)" pagsh -c $SHELL
16         ;;
17     screen)
18         klist -s || krbroot init || exit 1;
19         HOST="`hostname` (krbroot)" pagsh -c 'exec "$@"' exec "$@"
20         ;;
21     ssh)
22         klist -s || krbroot init || exit 1;
23         shift
24         exec ssh -k -l root "$@"
25         ;;
26     rlogin)
27         klist -s || krbroot init || exit 1;
28         exec rlogin -x -l root $2
29         ;;
30     *)
31         if [ $# = 0 ]; then
32             echo "Usage: $0 init" >&2
33             echo "       $0 destroy" >&2
34             echo "       $0 shell" >&2
35             echo "       $0 ssh [args]" >&2
36             echo "       $0 rlogin [args]" >&2
37             echo "       $0 [cmd]" >&2
38         else
39             exec "$@"
40         fi
41         ;;
42 esac