#!/usr/bin/env bash

# add our dosis group
group_=dosis-guest
if ! getent group ${group_} > /dev/null 2>&1; then
    echo "adding group ${group_}"
    groupadd ${group_}
fi

function checkadduser() {
    user_="$1"
    fullname_="$2"
    groups_="$3"

    if ! getent passwd ${user_} > /dev/null 2>&1; then
        echo "adding user ${user_}"
        useradd -c "${fullname_}" -g "${group_}" -M -d "/home/${user_}" -f -1 "${user_}"
        passwd -d "${user_}"
    fi

    echo "updating user ${user_}"

    # create directory if it does not exist. 
    mkdir -p "/home/${user_}"

    # ensure user home director
    usermod -d "/home/${user_}" "${user_}"

    # ensure user has ownership of directory
    chown "${user_}"."${user_}" "/home/${user_}"

	# ensure user groups are exactly as specified
	usermod -G ${groups_} ${user_} > /dev/null 2>&1

	# ensure user has bash shell
	usermod -s /bin/bash ${user_} > /dev/null 2>&1
}

# kill all apps dosis-guest is using
pkill -9 -u dosis-guest
sleep 5

# add users
checkadduser dosis-guest "Dosis Guest" 'ftp,uucp,tty,dialout,lock'
/usr/share/dosis2/bin/dosis-guest-first-time dosis-guest dosis-guest /home/dosis-guest
