From 962cfa69d65e7be74e275b29497d6510d6e3887f Mon Sep 17 00:00:00 2001 From: Raphael Dannecker Date: Sun, 16 Jul 2023 17:52:27 +0200 Subject: [PATCH] unmount oldhome and linuxhome on logout --- roles/lmn_vm/files/mounthome.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/roles/lmn_vm/files/mounthome.sh b/roles/lmn_vm/files/mounthome.sh index 678f06a..078096f 100755 --- a/roles/lmn_vm/files/mounthome.sh +++ b/roles/lmn_vm/files/mounthome.sh @@ -4,6 +4,14 @@ set -eu share="/srv/samba/schools/default-school/share/" home="$(getent passwd "$SUDO_UID" | cut -d : -f 6)" +exit_script() { + echo "unmounting media - terminated by trap!" >> "/tmp/${SUDO_UID}-exit-mount.log" + findmnt "/media/${SUDO_USER}/oldhome" && umount "/media/${SUDO_USER}/oldhome" && rmdir "/media/${SUDO_USER}/oldhome" + findmnt "/media/${SUDO_USER}/linuxhome" && umount "/media/${SUDO_USER}/linuxhome" && rmdir "/media/${SUDO_USER}/linuxhome" + trap - SIGHUP SIGINT SIGTERM # clear the trap + kill -- -$$ # Sends SIGTERM to child/sub processes +} + if [[ "$#" -gt 0 ]] && [[ "$1" = '-u' ]]; then findmnt "/media/${SUDO_USER}/home" && umount "/media/${SUDO_USER}/home" && rmdir "/media/${SUDO_USER}/home" findmnt "/media/${SUDO_USER}/share" && umount "/media/${SUDO_USER}/share" && rmdir "/media/${SUDO_USER}/share" @@ -13,14 +21,28 @@ elif [ "$#" -gt 0 ] && [ "$1" = '-o' ]; then read -rp "Username: " username read -srp "Passwort: " PASSWD export PASSWD + echo mkdir -p "/media/${SUDO_USER}/oldhome" + #errcode=$(mount -t cifs -o "username=${username},uid=${SUDO_UID},gid=1010,file_mode=0770,dir_mode=0770,forceuid,forcegid" \ + # "//192.168.1.2/DOCS/fvs" "/media/${SUDO_USER}/oldhome") + #if [[ ! "${errcode}" ]]; then mount -t cifs -o "username=${username},uid=${SUDO_UID},gid=1010,file_mode=0770,dir_mode=0770,forceuid,forcegid" \ - "//192.168.1.2/DOCS/fvs" "/media/${SUDO_USER}/oldhome" + "//192.168.1.2/DOCS/fvs" "/media/${SUDO_USER}/oldhome" + echo "Mounting successfull!" + echo "Dieses Fenster bitte nicht schließen!" + echo "Um weiter zu arbeiten: + " + trap exit_script SIGHUP SIGINT SIGTERM + sleep infinity elif [ "$#" -gt 0 ] && [ "$1" = '-l' ]; then read -rp "Username: " username mkdir -p "/media/${SUDO_USER}/linuxhome" mount -t fuse -o "allow_other,uid=${SUDO_UID},gid=1010,reconnect" \ "sshfs#${username}@home.steinbeisschule-reutlingen.de:" "/media/${SUDO_USER}/linuxhome" + echo "Mounting successfull!" + echo "Dieses Fenster bitte nicht schließen!" + echo "Um weiter zu arbeiten: + " + trap exit_script SIGHUP SIGINT SIGTERM + sleep infinity else mkdir -p "/media/${SUDO_USER}" chown "${SUDO_USER}:1010" "/media/${SUDO_USER}"