aboutsummaryrefslogtreecommitdiff
path: root/scripts/system-setup
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/system-setup')
-rwxr-xr-xscripts/system-setup64
1 files changed, 64 insertions, 0 deletions
diff --git a/scripts/system-setup b/scripts/system-setup
new file mode 100755
index 0000000..6e2bebe
--- /dev/null
+++ b/scripts/system-setup
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+#interactive systen setup
+
+AUTHKEY_FILE_URL="https://jonasgunz.de/authorized_keys"
+
+if [ $(id -u) -ne 0 ]; then
+ echo Supposed to run as root.
+ return 1
+fi
+
+yes_no()
+{
+ read -p "$1 (y/[n])" inp
+ case $inp in
+ [yY]* ) return 0;;
+ * ) return 1;;
+ esac
+}
+
+selector()
+{
+ local cnt=0
+ local regex="^-?[0-9]+\$"
+ for selection in "$@"
+ do
+ echo "$cnt) $selection"
+ ((cnt=$cnt + 1))
+ done
+
+ read -p "(default=0) >" inp
+ if [[ "$inp" =~ $regex ]] && [ $inp -ge 0 -a $inp -le $# ]
+ then
+ return $inp
+ elif [ -z $inp ]
+ then
+ return 0
+ else
+ return -1
+ fi
+}
+
+function user_setup() {
+ while true; do
+ read -p "Name for new User: " username
+ if [ ! -z $username ]; then
+ break;
+ fi
+ done
+}
+
+echo "Interactive system setup"
+
+while true ; do
+ selector "User setup" "Exit"
+ case $? in
+ 0)
+ user_setup;;
+ 1)
+ exit 0;;
+ *)
+ echo Wrong input;;
+ esac
+done