From f48b060fa752fdf6556080dc1af221363f9b1ef4 Mon Sep 17 00:00:00 2001 From: "Daniel F. Dickinson" Date: Wed, 5 Dec 2018 01:31:40 -0500 Subject: [PATCH] nut: Fix upsd runs as root Closes #6997 - Allows upsd to runas a non-privileged user. If any driver is running as non-privileged user, the last driver's user will be used as the server non-privileged user, otherwise the user specified in config upsd, otherwise nut. Previously the localisation of RUNAS variable was in the wrong locations. Signed-off-by: Daniel F. Dickinson --- net/nut/Makefile | 2 +- net/nut/files/nut-server.init | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/net/nut/Makefile b/net/nut/Makefile index db0897926..0074aa060 100644 --- a/net/nut/Makefile +++ b/net/nut/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nut PKG_VERSION:=2.7.4 -PKG_RELEASE:=10 +PKG_RELEASE:=11 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/ diff --git a/net/nut/files/nut-server.init b/net/nut/files/nut-server.init index 201a3ba85..045b29d48 100755 --- a/net/nut/files/nut-server.init +++ b/net/nut/files/nut-server.init @@ -38,6 +38,16 @@ upsd_statepath() { STATEPATH="$statepath" } +upsd_runas() { + local cfg="$1" + local runas + + [ -n "$RUNAS" ] && return + + config_get runas "$cfg" runas "nut" + RUNAS="$runas" +} + listen_address() { local cfg="$1" @@ -213,6 +223,7 @@ build_global_driver_config() { get_write_driver_config "$cfg" synchronous config_get runas "$cfg" user "nut" RUNAS="$runas" + upsd_runas echo "" >>$UPS_C }