#!/usr/bin/bash # # /usr/local/sbin/u-mount.sh %(USER) %(USERUID) %(MNTPT) %(FSTYPE) %(OPTIONS) %(SERVER) %(VOLUME)' # /usr/local/sbin/u-mount.sh %(USER) %(USERUID) %(MNTPT)' set -eu systemd-cat echo $@ LANG=C usr="$1" uid="$2" mtp="$3" if [[ "$#" -gt 3 ]] ; then ## we are mounting fty="$4" opt="$5" srv="$6" vol="$7" case "$fty" in "davfs") systemd-cat echo mount -t davfs -o "$opt" "$vol" "$mtp" exec mount -t davfs -o "$opt" "$vol" "$mtp" ;; "cifs") if [[ ! "$vol" =~ "sysvol" ]] ; then home="$(getent passwd "$usr" | cut -d : -f 6)" vol="default-school/" mount -t cifs -o "$opt" "//$srv/$vol" "$mtp" mkdir -p "/lmn/media/$usr/share" mkdir -p "/lmn/media/$usr/home" mount -o bind "/srv/samba/schools/default-school/share" "/lmn/media/$usr/share" exec mount -o bind "$home" "/lmn/media/$usr/home" else mount -t cifs -o "$opt" "//$srv/$vol" "$mtp" fi esac else # for VMname in $(sudo -u $user XDG_RUNTIME_DIR="/run/user/$uid" \ # virsh list --state-running | grep running | awk '{print $2}'); do # sudo -u $user XDG_RUNTIME_DIR="/run/user/$uid" virsh destroy $VMname # sleep 1 # done #killall -9 virtiofsd umount "/lmn/media/$usr/share" && rmdir "/lmn/media/$usr/share" umount "/lmn/media/$usr/home" && rmdir "/lmn/media/$usr/home" exec umount "$mtp" fi