X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fkrb5_login.sh;h=da09190ad1a934442a26ea1b9172e792900c02e8;hb=76ca884398cae59e455caf3ae2ab1609c5fb1eea;hp=e80ae7c29499d899051903f6451e60ee8ad18e74;hpb=d2d56f38da01001c92a09afc6b52b5acbd9bc13c;p=fs%2Flustre-release.git diff --git a/lustre/tests/krb5_login.sh b/lustre/tests/krb5_login.sh index e80ae7c2..da09190 100755 --- a/lustre/tests/krb5_login.sh +++ b/lustre/tests/krb5_login.sh @@ -1,26 +1,30 @@ -#!/bin/sh +#!/bin/bash +# +# krb5_login.sh - obtain and cache Kerberos ticket-granting ticket +# +############################################################################### # # nothing need for root # -if [ $UID -eq 0 ]; then - exit 0 -fi +[ $UID -eq 0 ] && exit 0 -if [ -z "$KRB5DIR" ]; then - KRB5DIR=/usr/kerberos -fi +# +# list Kerberos 5 credentials silently +# exit status: +# 0 - klist finds a credentials cache +# 1 - klist does not find a credentials cache or the tickets are expired +# +klist -5 -s && exit 0 -$KRB5DIR/bin/klist -5 -s -invalid=$? +# get the user name for uid $UID +GSS_USER=$(getent passwd $UID | cut -d: -f1) -if [ $invalid -eq 0 ]; then - exit 0 -fi +GSS_PASS=${GSS_PASS:-"$GSS_USER"} echo "***** refresh Kerberos V5 TGT for uid $UID *****" if [ -z "$GSS_PASS" ]; then - $KRB5DIR/bin/kinit + kinit else expect <