Running rc.d programs under a different user

Charles Solar redcomet87 at gmail.com
Sat Feb 6 22:11:01 PST 2010


LFS is working great, and I can safely say I know much more about linux then
I did before going through the book, so thanks to all those who contributed.

I am wrapping up my fileserver built from LFS SVN 2010-01-09 and I am trying
to find a way to run a daemon process as a different user.
In the book we only used the apps config file to specify a different user,
ex, svn, proftpd.  But I want to run Deluge under a different user and it
does not have a config option for this.  So I am wondering if there is some
way I am 'supposed' to setup the init script to do this.  I am trying to
avoid installing any more unnecessary programs like daemon and
start-stop-daemon so any advice is appreciated.

Basically I want to mimic the provided example init scripts from here
http://dev.deluge-torrent.org/wiki/UserGuide/InitScript

This is what I am using at the moment
#!/bin/sh
# Deluge daemon startup

. /etc/sysconfig/rc
. $rc_functions

case "$1" in
        start)
                boot_mesg "Starting deluged service..."
                loadproc -p /var/run/deluged.pid /usr/sbin/deluged -c
/etc/deluge/ -p 58840 -l /var/log/deluged.log
                RETVAL=$?
                if [ $RETVAL -eq 0 ] ; then
                        boot_mesg "Starting deluge web ui..."
                        loadproc -p /var/run/webluge.pid
/usr/sbin/deluge-web -f -c /etc/deluge/ -l /var/log/webluged.log
                fi
                ;;
        stop)
                boot_mesg "Stopping deluged service..."
                killproc /usr/sbin/deluged
                boot_mesg "Stopping deluge web ui..."
                killproc /usr/sbin/deluge-web
                ;;
        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        status)
                statusproc /usr/bin/deluged
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 1
                ;;
esac

I checked out the functions library and did not see anything jump out at me.

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfromscratch.org/pipermail/lfs-support/attachments/20100207/faaebe24/attachment.html>


More information about the lfs-support mailing list