Implement timeout for krb5 ticket retrieval during VPN connections

This commit is contained in:
Raphael Dannecker 2025-10-06 13:11:04 +02:00
parent 61833201cb
commit b4caaf036d

View file

@ -13,19 +13,24 @@ if [[ "$CONNECTION_ID" = "VPN-Schule" ]]; then
# Exit if server is already mounted # Exit if server is already mounted
findmnt /srv/samba/schools/default-school > /dev/null && exit 0 findmnt /srv/samba/schools/default-school > /dev/null && exit 0
if ! klist -s -c "${KRB5CCNAME}"; then counter=1
#echo "try to renew KRB5-Ticket" >&2 while ! klist -s -c "${KRB5CCNAME}"; do
#sudo -u "${USERNAME}" kinit -R -c "${KRB5CCNAME}" (( counter > 30 )) && exit 0
echo "KRB5-Ticket is expired. Sleep 3 seconds and hope it will be renewed after." >&2 echo "KRB5-Ticket is expired. Sleep 1 seconds and hope it will be renewed after." >&2
sleep 3 # if (( counter == 10 )); then
fi # echo "try to renew KRB5-Ticket" >&2
# sudo -u "${USERNAME}" kinit -R -c "${KRB5CCNAME}"
# fi
sleep 1
((counter++))
done
echo "prepare mountpoints" >&2 echo "prepare mountpoints" >&2
umask 0002 umask 0002
mkdir -p /srv/samba/schools/default-school mkdir -p /srv/samba/schools/default-school
chmod 777 /srv/samba/schools/default-school chmod 777 /srv/samba/schools/default-school
mkdir -p "/lmn/media/${USERNAME}/share" mkdir -p "/lmn/media/${USERNAME}/share"
mount -t cifs //server/default-school/ /srv/samba/schools/default-school \ mount -t cifs //server/default-school/ /srv/samba/schools/default-school \
-o "sec=krb5i,cruid=${USERID},user=${USERNAME},uid=${USERID},gid=${GROUPID},file_mode=0700,dir_mode=0700,mfsymlinks,nobrl,actimeo=600,cache=loose,echo_interval=10" -o "sec=krb5i,cruid=${USERID},user=${USERNAME},uid=${USERID},gid=${GROUPID},file_mode=0700,dir_mode=0700,mfsymlinks,nobrl,actimeo=600,cache=loose,echo_interval=10"
echo "after mount" >&2 echo "after mount" >&2