Hi!
I use the following script to run kannel as non-root user (its a adaptation
from
gatewway/utils/kannel-init.d):
>>>>>>>>>>> start kannel-init.d
#!/bin/sh
# Start/stop the kannel boxes: One bearer box and one SMS box.
# Make sure that the kannel binaries can be found in $BOXPATH or somewhere
# else along $PATH. run_kannel_box has to be in $BOXPATH.
BOXPATH=/opt/kannel/sbin
PIDFILES=/opt/kannel/pid
CONF=/opt/kannel/conf/kannel.conf
USER=kannel
VERSION=""
RB=run_kannel_box
BB=bearerbox
WB=wapbox
SB=smsbox
SSD=start-stop-daemon
PATH=$BOXPATH:$PATH
# On Debian, the most likely reason for the bearerbox not being available
# is that the package is in the "removed" or "unconfigured" state, and the
# init.d script is still around because it's a conffile. This is normal,
# so don't generate any output.
test -x $BOXPATH/$BB || exit 0
case "$1" in
start)
echo -n "Starting kannel gateway: bearerbox"
sudo -u $USER $SSD --start --quiet --pidfile
$PIDFILES/kannel_bearerbox.pid --exec $BOXPATH/$RB -- --pidfile $PIDF
ILES/kannel_bearerbox.pid $BB -- $CONF
echo -n " smsbox"
sudo -u $USER $SSD --start --quiet --pidfile
$PIDFILES/kannel_smsbox.pid --exec $BOXPATH/$RB -- --pidfile $PIDFILE
S/kannel_smsbox.pid $SB -- $CONF
echo " [OKAY]"
;;
stop)
echo -n "Stopping gateway: "
echo -n " smsbox"
$SSD --stop --quiet --pidfile $PIDFILES/kannel_smsbox.pid --exec
$BOXPATH/$RB
echo -n " bearerbox"
$SSD --stop --quiet --pidfile $PIDFILES/kannel_bearerbox.pid --exec
$BOXPATH/$RB
echo " [OKAY]"
;;
reload)
# We don't have support for this yet.
exit 1
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|reload|restart|force-reload}"
exit 1
esac
exit 0
>>>>>>>>>>> end kannel-init.d
----- Original Message -----
From: "Miroslav Vrankic" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, February 15, 2002 12:24 PM
Subject: I don't want to run bearerbox as root
> We are using Kannel 0.10.3.
> For security reasons we are trying to run all kannel boxes as nobody (or
any
> non root, for example "kannel").
> There is no problem with sms and wap boxes. They are runnning as user
> "kannel".
> When we tried to run bearerbox as user "kannel" other boxes could not
> connect to it.
> The "connection refused 111" error is obtained.
> Of course, we have started bearerbox before other boxes.
> You can see the used startup script at the and of the message.
> Thanks!
> Miroslav
>
>
>
> #! /bin/sh
> # kannel Startup script for the Kannel WAP and SMS Gateway
> #
> # Written by Andres Seco <[EMAIL PROTECTED]> using
> # the skeleton provided by Miquel van Smoorenburg and
> # Ian Murdock in Debian GNU/Linux 2.1 (slink)
> # modified with paragraphs from diald startup script
> # in Debian GNU/Linux 2.2 (potato)
> # Modified from init script from alamin-server.
> #
> # Version: @(#)kannel 1.0 19-Aug-2001 [EMAIL PROTECTED]
> #
>
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> RUNBOX=/usr/local/bin/run_kannel_box-0.10.3
> DAEMONA=/usr/local/bin/bearerbox-0.10.3
> DAEMONB=/usr/local/bin/wapbox-0.10.3
> DAEMONC=/usr/local/bin/smsbox-0.10.3
> NAMEA=bearerbox
> NAMEB=wapbox
> NAMEC=smsbox
> PIDA=kannel/bearerbox
> PIDB=kannel/wapbox
> PIDC=kannel/smsbox
> DESC="Kannel WAP and SMS Gateway"
> CONF=/usr/local/bin/m20.conf
> USER=kannel
>
> test -f $DAEMONA || exit 0
> test -f $DAEMONB || exit 0
> test -f $DAEMONC || exit 0
> test -f $CONF || exit 0
>
> set -e
>
> case "$1" in
> start)
> echo -n "Starting $DESC:"
> start-stop-daemon --start --quiet \
> --pidfile /var/run/$PIDA.pid \
> --exec $RUNBOX \
> -- \
> --pidfile /var/run/$PIDA.pid \
> $DAEMONA $CONF
> echo -n " $NAMEA"
> sleep 10
> start-stop-daemon --start --quiet \
> --chuid $USER \
> --pidfile /var/run/$PIDB.pid \
> --exec $RUNBOX \
> -- \
> --pidfile /var/run/$PIDB.pid \
> $DAEMONB $CONF
> echo -n " $NAMEB"
> sleep 5
> start-stop-daemon --start --quiet \
> --chuid $USER \
> --pidfile /var/run/$PIDC.pid \
> --exec $RUNBOX \
> -- \
> --pidfile /var/run/$PIDC.pid \
> $DAEMONC $CONF
> echo -n " $NAMEC"
> echo "."
> ;;
> stop)
> echo -n "Stopping $DESC:"
> start-stop-daemon --stop --quiet --oknodo \
> --pidfile /var/run/$PIDC.pid \
> --exec $RUNBOX
> echo -n " $NAMEC"
> start-stop-daemon --stop --quiet --oknodo \
> --pidfile /var/run/$PIDB.pid \
> --exec $RUNBOX
> echo -n " $NAMEB"
> start-stop-daemon --stop --quiet --oknodo \
> --pidfile /var/run/$PIDA.pid \
> --exec $RUNBOX
> echo -n " $NAMEA"
> echo "."
> ;;
> reload|force-reload|restart)
> $0 stop
> sleep 2
> $0 start
> ;;
> *)
> N=/etc/init.d/$NAME
> echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
> exit 1
> ;;
> esac
>
> exit 0
>
>
>
>
>