Switch to cifs for home dirs.

This commit is contained in:
Andreas B. Mundt 2023-03-15 08:33:37 +01:00
parent 5640c3e76b
commit 7a3f106ee3
6 changed files with 25 additions and 9 deletions

View file

@ -1,15 +1,26 @@
#!/usr/bin/bash
set -eu
share="$(getent passwd "$SUDO_UID" | cut -d : -f 6 | sed 's/.*default-school//')"
share="/srv/samba/schools/default-school/share/"
home="$(getent passwd "$SUDO_UID" | cut -d : -f 6)"
if [ "$#" -gt 0 ] && [ "$1" = '-u' ]; then
umount "/media/${SUDO_USER}/home" && rmdir "/media/${SUDO_USER}/home"
if [[ "$#" -gt 0 ]] && [[ "$1" = '-u' ]]; then
[[ -d "/media/${SUDO_USER}/home" ]] && umount "/media/${SUDO_USER}/home" && rmdir "/media/${SUDO_USER}/home"
[[ -d "/media/${SUDO_USER}/share" ]] && umount "/media/${SUDO_USER}/share" && rmdir "/media/${SUDO_USER}/share"
[[ -d "/media/${SUDO_USER}/oldhome" ]] && umount "/media/${SUDO_USER}/oldhome" && rmdir "/media/${SUDO_USER}/oldhome"
elif [ "$#" -gt 0 ] && [ "$1" = '-o' ]; then
read -p "Username: " username
read -s -p "Passwort: " PASSWD
export PASSWD
mkdir -p "/media/${SUDO_USER}/oldhome"
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"
else
mkdir -p "/media/${SUDO_USER}"
chgrp 1010 "/media/${SUDO_USER}"
chmod 0770 "/media/${SUDO_USER}"
mkdir -p "/media/${SUDO_USER}/home"
mount -t cifs -o "sec=krb5i,cruid=${SUDO_UID},username=${SUDO_USER},uid=${SUDO_UID},\
gid=1010,file_mode=0770,dir_mode=0770,forceuid,forcegid,user=${SUDO_USER}" \
"//server/default-school/${share}" "/media/${SUDO_USER}/home"
mkdir -p "/media/${SUDO_USER}/share"
mount --bind "${share}" "/media/${SUDO_USER}/share"
mount --bind "${home}" "/media/${SUDO_USER}/home"
fi