znc: Added RUNAS_SHELL variable to assist when using external configuration 2787/head
authorXotic750 <xotic750@gmail.com>
Tue, 31 May 2016 15:54:13 +0000 (17:54 +0200)
committerXotic750 <xotic750@gmail.com>
Fri, 3 Jun 2016 12:56:02 +0000 (14:56 +0200)
Signed-off-by: Graham Fairweather <xotic750@gmail.com>
net/znc/files/znc.init

index 2ee5a1e588eccf3ee06b4857474103e64ca26ef8..91f3ecaa7eb00e7df22a76505f4d693ab24846fa 100644 (file)
@@ -12,6 +12,7 @@ DISABLED=
 
 RUNAS_USER=
 RUNAS_GROUP=
+RUNAS_SHELL=
 
 add_param() {
        echo "$1 = $2" >> $ZNC_CONFIG
@@ -60,6 +61,7 @@ znc_global() {
 
        config_get RUNAS_USER "$znc" runas_user
        config_get RUNAS_GROUP "$znc" runas_group
+       config_get RUNAS_SHELL "$znc" runas_shell
 
        if [ "${znc_config_path}" ]
        then
@@ -168,7 +170,7 @@ start() {
                config_foreach add_listener listener
                config_foreach add_user user
 
-               chown -hR ${RUNAS_USER:-nobody}:${RUNAS_GROUP:-nogroup} /tmp/etc/znc
+               chown -hR ${RUNAS_USER:-nobody}:${RUNAS_GROUP:-nogroup} ${ZNC_CONFIG_PATH}
        fi
 
        if [ "$EXTERNAL_CONFIG" -eq 1 -a "$RUNAS_USER"  ]
@@ -176,7 +178,8 @@ start() {
                local SU=$(which su)
                if [ "$SU" ]
                then
-                       $SU -c "/usr/bin/znc -d$ZNC_CONFIG_PATH >/dev/null &" $RUNAS_USER
+                       chown -hR ${RUNAS_USER:-nobody}:${RUNAS_GROUP:-nogroup} ${ZNC_CONFIG_PATH}
+                       $SU ${RUNAS_SHELL:+s $RUNAS_SHELL} -c "/usr/bin/znc -d$ZNC_CONFIG_PATH >/dev/null &" $RUNAS_USER
                else
                        logger -s -t ZNC -p daemon.err "Could not run ZNC as user $RUNAS_USER: su not found."
                        exit 1