diff options
Diffstat (limited to 'wesnoth-server/pre-install')
-rwxr-xr-x | wesnoth-server/pre-install | 41 |
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 + |