32 lines
1.6 KiB
Bash
Executable file
32 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/bash
|
|
set -eu
|
|
|
|
share="/srv/samba/schools/default-school/share/"
|
|
home="$(getent passwd "$SUDO_UID" | cut -d : -f 6)"
|
|
|
|
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"
|
|
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"
|
|
elif [ "$#" -gt 0 ] && [ "$1" = '-o' ]; then
|
|
read -rp "Username: " username
|
|
read -srp "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"
|
|
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"
|
|
else
|
|
mkdir -p "/media/${SUDO_USER}"
|
|
chown "${SUDO_USER}:1010" "/media/${SUDO_USER}"
|
|
chmod 0770 "/media/${SUDO_USER}"
|
|
mkdir -p "/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
|