I've installed utserver (Unreal Tournament game server) from ports. It also installed a startscript in /usr/local/etc/rc.d/ucc
Code:
# $FreeBSD: ports/games/utserver/files/ucc.in,v 1.3 2006/09/18 14:01:15 rafan Exp $
#
# PROVIDE: ucc
# REQUIRE: DAEMON
#
# Add the following line to /etc/rc.conf[.local] to enable ucc
#
# ucc_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable ucc.
. /etc/rc.subr
name="ucc"
rcvar=${name}_enable
load_rc_config $name
: ${ucc_enable="NO"}
: ${ucc_config="server.ini"}
: ${ucc_logfile="/dev/null"}
: ${ucc_map="dm-Hyperblast"}
: ${ucc_pidfile="/var/run/ucc.pid"}
pidfile=${ucc_pidfile}
command="/usr/local/ut-server/System/ucc-bin"
command_args="server \"${ucc_map}\" ini=${ucc_config}"
start_cmd="ucc_startcmd"
ucc_startcmd()
{
if [ -z "$rc_fast" -a -n "$rc_pid" ]; then
echo "${name} already running? (pid=$rc_pid)."
return 1
fi
echo Starting ${name}.
if [ ! -x /usr/sbin/daemon ]; then
err 1 "/usr/sbin/daemon required"
fi
if ! /usr/sbin/daemon 2>&1 | grep pidfile > /dev/null; then
err 1 "/usr/sbin/daemon with -p option required"
fi
if ! kldstat -v | grep -E 'linux(aout|elf)' > /dev/null; then
err 1 "Linux support required"
fi
cd /usr/local/ut-server/System/
cmd="/usr/sbin/daemon -p ${ucc_pidfile} ${command} ${command_args}"
if [ -n "$ucc_user" ]; then
cmd="su -m $ucc_user -c '$cmd'"
fi
eval "$cmd 2>&1 >> ${ucc_logfile}"
}
After putting
ucc_enable="YES" in /etc/rc.conf the server starts up fine on boot. However, it runs as root. How can I change this to something else (user nobody maybe)?