]> snippets.scripts.mit.edu Git - Scripts/git/.git/blame - kerberos/kdo/bashrc
Added set volume script
[Scripts/git/.git] / kerberos / kdo / bashrc
CommitLineData
416df4e8
EB
1function kfindcache {
2 klist -A | grep -A1 'Kerberos 5 ticket cache' | grep -iB1 "principal: .*$1" | head -n 1 | cut -f 2 -d "'"
3}
4
5function kdo {
6 local princ="$1"
7 shift;
8 local kinit_args="-l15m -r60m -F"
9 local cache=`kfindcache "$princ"`
10 if [ -n "$cache" ] && ! (KRB5CCNAME="$cache" klist -s "$cache"); then
11 KRB5CCNAME="$cache" kdestroy
12 cache=""
13 fi
14 if [ -z "$cache" ]; then
15 local oldcache=`klist | grep 'Kerberos 5 ticket cache' | cut -f 2 -d "'"`
16 kinit $kinit_args "$princ" || return 1
17 cache=`kfindcache "$princ"`
18 kswitch -c "$oldcache"
19 fi
20 echo "Running $1 with cache $cache (for principal $princ)" >&2
21 KRB5CCNAME="$cache" "$@"
22}
23
24function krootssh {
25 kdo ${ATHENA_USER:-$USER}}/root@ATHENA.MIT.EDU ssh -o "GSSAPIDelegateCredentials no" "$@"
26}