]> git.plutz.net Git - bootimage/blobdiff - config_elok/usr/local/bin/login.sh
elok config overlay
[bootimage] / config_elok / usr / local / bin / login.sh
diff --git a/config_elok/usr/local/bin/login.sh b/config_elok/usr/local/bin/login.sh
new file mode 100755 (executable)
index 0000000..4d5c345
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+user=''
+pass=''
+host='Poolmaster'
+guest=false
+login=false
+
+while [ "$guest" = false -a "$login" = false ]; do
+  creds="$(
+  zenity --modal --title=Login \
+         --forms --text="Elok Anmeldung" --add-entry=Benutzername: --add-password=Passwort: \
+         --ok-label="Login" --cancel-label="Als Gast arbeiten"
+  )" || guest=true
+  user="${creds%%|*}"
+  pass="${creds#*|}"
+  
+  fusermount -uz /home/mount
+  printf %s "$pass" |sshfs "${user}@${host}:" /home/mount -o password_stdin,idmap=user && login=true
+done
+
+if [ "$login" = true ]; then
+  sudo sed -ri "s;(^|:|,)$(whoami)($|:|,);\1${user}\2;" /etc/passwd /etc/shadow /etc/group
+  printf %s:%s\\n "$user" "$pass" root "$pass" |sudo chpasswd
+  sudo chfn -f "$user" "$user"
+  sudo ln -Tsf /home/mount /home/guest
+  cp /home/virtual/.Xauthority /home/guest/
+elif [ "$guest" = true ]; then
+  sudo sed -ri "s;(^|:|,)$(whoami)($|:|,);\1guest\2;" /etc/passwd /etc/shadow /etc/group
+  printf %s:%s\\n "guest" "guest" root '' |sudo chpasswd
+  sudo chfn -f "Gast Benutzer" "guest"
+  sudo ln -Tsf /home/virtual /home/guest
+fi
+
+xdotool mousemove -sync 30 30 click -delay 0 1 key -delay 0 F5 mousemove restore windowfocus $(xdotool getwindowfocus)
+
+xscreensaver-command -exit
+xscreensaver -no-splash &