rMarkus
Chuck The Plant
Hallo,
ich moechte einen Dienst "dienst" mit einem bestimmten User "dienst_user" starten.
Folgende Startprozedur habe ich im /usr/local/etc/rc.d als dienst.sh erstellt:
Dann habe ich in der /etc/rc.conf.local mit "dienst_enable="YES" den Dienst eingeschaltet.
Ich bin dabei wie im Handbuch vorgegangen:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-starting-services.html
Dort wird jedoch nicht dargestellt, wie man den Prozess als anderer User ausführt.
Daher halte ich das oben nicht für ganz sauber, da der Prozess "su" bestehen bleibt und das Kaufmannsund zur Prozessgenerierung nicht besonders geeignet ist.
Gibt es eine bessere Möglichkeit?
ich moechte einen Dienst "dienst" mit einem bestimmten User "dienst_user" starten.
Folgende Startprozedur habe ich im /usr/local/etc/rc.d als dienst.sh erstellt:
Code:
#!/bin/sh
#
# PROVIDE: dienst
# REQUIRE: DAEMON
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
dienst_enable=${dienst_enable-"NO"}
dienst_flags=${dienst_flags-""}
dienst_pidfile=${dienst_pidfile-"/var/run/dienst.pid"}
. /etc/rc.subr
name="dienst"
rcvar=`set_rcvar`
# command="/usr/local/bin/dienst"
command='su - dienst_user -c "/usr/local/bin/dienst &"'
load_rc_config $name
pidfile="${utility_pidfile}"
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"
run_rc_command "$1"
Dann habe ich in der /etc/rc.conf.local mit "dienst_enable="YES" den Dienst eingeschaltet.
Ich bin dabei wie im Handbuch vorgegangen:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-starting-services.html
Dort wird jedoch nicht dargestellt, wie man den Prozess als anderer User ausführt.
Daher halte ich das oben nicht für ganz sauber, da der Prozess "su" bestehen bleibt und das Kaufmannsund zur Prozessgenerierung nicht besonders geeignet ist.
Gibt es eine bessere Möglichkeit?