diff --git a/roles/lmn_mount/tasks/main.yml b/roles/lmn_mount/tasks/main.yml index 3f3dce2..ff633c8 100644 --- a/roles/lmn_mount/tasks/main.yml +++ b/roles/lmn_mount/tasks/main.yml @@ -16,7 +16,7 @@ block: | /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 diff --git a/roles/lmn_vm/tasks/main.yml b/roles/lmn_vm/tasks/main.yml index c56df95..28658c2 100644 --- a/roles/lmn_vm/tasks/main.yml +++ b/roles/lmn_vm/tasks/main.yml @@ -14,25 +14,20 @@ # insertafter: '#auth_unix_rw = "polkit"' # notify: reload libvirtd -- name: Configure pam_mount for VMs +- name: Generate bind mounts for VMs in extra mount script blockinfile: dest: /etc/security/pam_mount.conf.xml marker: "" block: | - - rootansibleDebian-gdmsddmvirti - - rootansibleDebian-gdmsddmvirti - - insertafter: "" + /usr/local/sbin/u-mount.sh %(USER) %(USERUID) %(MNTPT) %(FSTYPE) %(OPTIONS) %(VOLUME) "~"' + /usr/local/sbin/u-mount.sh %(USER) %(USERUID) %(MNTPT)' + insertafter: '^