summaryrefslogtreecommitdiff
path: root/wesnoth-server/pre-install
diff options
context:
space:
mode:
Diffstat (limited to 'wesnoth-server/pre-install')
-rwxr-xr-xwesnoth-server/pre-install41
1 files changed, 41 insertions, 0 deletions
diff --git a/wesnoth-server/pre-install b/wesnoth-server/pre-install
new file mode 100755
index 000000000..8eca84d2d
--- /dev/null
+++ b/wesnoth-server/pre-install
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Created by Danny Rawlins, monster dot romster at gmail dot com
+
+GROUP=daemon
+USER=_wesnoth
+USER_COMMENT="Wesnoth game server"
+USER_HOME=/var/empty
+USER_SHELL=/bin/sh
+
+if [ ! $(id -u) = 0 ]; then
+ echo "ERROR: you need to be root to run this!"
+ exit 1
+fi
+
+if [ $GROUP ]; then
+ if ! getent group $GROUP > /dev/null; then
+ /usr/sbin/groupadd $GROUP
+ if [ $? -eq 0 ]; then
+ echo "Group: $GROUP added."
+ fi
+ else
+ echo "Group: $GROUP already exists! Skipping."
+ fi
+fi
+
+if ! getent passwd $USER > /dev/null; then
+ /usr/sbin/useradd -g $GROUP -c "$USER_COMMENT" -d $USER_HOME -s $USER_SHELL $USER
+ if [ $? -eq 0 ]; then
+ echo "User: $USER added."
+ /usr/bin/passwd -l $USER > /dev/null
+ if [ $? -eq 0 ]; then
+ echo "Locked: $USER account."
+ fi
+ else
+ echo "ERROR: unable to lock $USER account."
+ /usr/sbin/userdel $USER
+ fi
+ else
+ echo "User: $USER already exists! Skipping."
+fi
+

Generated by cgit