
- The new virtiofsd provides the ability to map a specified UID and GID to that of the user when running in user mode. As a result, virtiofsd is moved to userland for VMs and the new -uid and -gid options are introduced that specify the IDs on the guest.New v - The drives no longer have to be mounted with the group ID 1010. Therefore, the mount options are changed to the real group ID
42 lines
1.6 KiB
Bash
Executable file
42 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/bash
|
|
#
|
|
set -eu
|
|
|
|
if [[ "$CONNECTION_ID" = "wg0" ]]; then
|
|
USERNAME=$(ps -o pid,user,args -C sddm-helper | sed -nE 's/.*user (.*)$/\1/p')
|
|
USERID=$(id -u "${USERNAME}")
|
|
GROUPID=$(id -g "${USERNAME}")
|
|
KRB5CCNAME=$(ls /tmp/krb5cc_"${USERID}"_*)
|
|
export KRB5CCNAME
|
|
printenv >&2
|
|
if [[ "$NM_DISPATCHER_ACTION" = "up" ]]; then
|
|
# Exit if server is already mounted
|
|
findmnt /srv/samba/schools/default-school > /dev/null && exit 0
|
|
|
|
if ! klist -s -c "${KRB5CCNAME}"; then
|
|
#echo "try to renew KRB5-Ticket" >&2
|
|
#sudo -u "${USERNAME}" kinit -R -c "${KRB5CCNAME}"
|
|
echo "KRB5-Ticket is expired. Sleep 3 seconds and hope it will be renewed after." >&2
|
|
sleep 3
|
|
fi
|
|
|
|
echo "prepare mountpoints" >&2
|
|
umask 0002
|
|
mkdir -p /srv/samba/schools/default-school
|
|
chmod 777 /srv/samba/schools/default-school
|
|
mkdir -p "/lmn/media/${USERNAME}/share"
|
|
|
|
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"
|
|
echo "after mount" >&2
|
|
mount --bind /srv/samba/schools/default-school/share "/lmn/media/${USERNAME}/share"
|
|
elif [[ "$NM_DISPATCHER_ACTION" = "pre-down" ]]; then
|
|
# FIXME: Only umount server when Wireguard-Connection was the only connection to server.
|
|
# Dirty fix (works only in fvs-IP-Range)
|
|
if ! (ip r s | grep "10.190." | grep -v wg0); then
|
|
echo "Try to umount server shares"
|
|
umount "/lmn/media/${USERNAME}/share"
|
|
umount /srv/samba/schools/default-school
|
|
fi
|
|
fi
|
|
fi
|