summaryrefslogtreecommitdiffstats
path: root/src/os-plugins/plugins/kiosk/XX_kiosk.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/os-plugins/plugins/kiosk/XX_kiosk.sh')
-rw-r--r--src/os-plugins/plugins/kiosk/XX_kiosk.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/os-plugins/plugins/kiosk/XX_kiosk.sh b/src/os-plugins/plugins/kiosk/XX_kiosk.sh
new file mode 100644
index 00000000..c7e275ad
--- /dev/null
+++ b/src/os-plugins/plugins/kiosk/XX_kiosk.sh
@@ -0,0 +1,60 @@
+# Copyright (c) 2009 - OpenSLX GmbH
+#
+# This program/file is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your feedback to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org
+#
+# script is included from init via the "." load function - thus it has all
+# variables and functions available
+
+# check if the plugin config directory is generally available or if the client
+# configuration failed somehow
+[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
+
+# main script
+if [ -e /initramfs/plugin-conf/kiosk.conf ]; then
+ . /initramfs/plugin-conf/kiosk.conf
+
+ if [ $kiosk_active -ne 0 ]; then
+ [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'kiosk' os-plugin ...";
+
+
+ profile_path="/etc/opt/openslx/plugins/kiosk/profiles/"
+
+ # avoid ldap conflicts - part I
+ # hide nsswitch.conf
+ if [ -e /mnt/etc/nsswitch.conf ]; then
+ mv /mnt/etc/nsswitch.conf /mnt/etc/nsswitch.conf.bak
+ fi
+
+ if [ -e /mnt/$profile_path/$kiosk_profile/ ]; then
+ # create new user
+ chroot /mnt useradd -s /bin/bash -k $profile_path/$kiosk_profile/ -m kiosk
+ chroot /mnt chown kiosk /home/kiosk/ -R
+ else
+ chroot /mnt useradd -s /bin/bash -k $profile_path/plain/ -m kiosk
+ fi
+
+ # avoid ldap conflicts - part II
+ # restore old nsswitch setup
+ if [ -e /mnt/etc/nsswitch.conf.bak ]; then
+ mv /mnt/etc/nsswitch.conf.bak /mnt/etc/nsswitch.conf
+ fi
+
+ # setup custom rungetty
+ mkdir -p /mnt/root/bin
+ ln -sf /opt/openslx/plugin-repo/kiosk/kgetty /mnt/root/bin/kgetty
+
+ kgettycmd="/root/bin/kgetty --autologin kiosk tty1"
+
+ /mnt/opt/openslx/plugin-repo/kiosk/setup.kgetty "$kgettycmd"
+
+ [ $DEBUGLEVEL -gt 0 ] && echo "done with 'kiosk' os-plugin ...";
+
+ fi
+
+fi