From 8f41fa7f82e9287c1d9c6158445dcb02ce076698 Mon Sep 17 00:00:00 2001 From: "Daniel F. Dickinson" Date: Fri, 28 Dec 2018 16:09:08 -0500 Subject: [PATCH] nut: Default to run as root but fix alt runas Since the new hotplug script in master was not backport (new feature), for 18.06 branch revert the old behavior of running NUT daemons and drivers as root by default to avoid permisions problems, but backport fix the support for running as another user for those who can set the appropriate permissions on the USB (or other) device. Closes: #7742 Signed-off-by: Daniel F. Dickinson --- net/nut/Makefile | 2 +- net/nut/files/nut-monitor.init | 2 +- net/nut/files/nut-server.init | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/net/nut/Makefile b/net/nut/Makefile index 06bde9ba69..bd96d27b7d 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:=8 +PKG_RELEASE:=9 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-monitor.init b/net/nut/files/nut-monitor.init index 6a390b4ef4..56c12c0aec 100755 --- a/net/nut/files/nut-monitor.init +++ b/net/nut/files/nut-monitor.init @@ -9,7 +9,7 @@ nut_upsmon_conf() { echo "# Config file automatically generated from UCI config" > "$UPSMON_C" - config_get runas "$cfg" runas "nut" + config_get runas "$cfg" runas [ -n "$runas" ] && echo "RUN_AS_USER $runas" >> $UPSMON_C config_get val "$cfg" minsupplies 1 diff --git a/net/nut/files/nut-server.init b/net/nut/files/nut-server.init index 045b29d48d..d878e36419 100755 --- a/net/nut/files/nut-server.init +++ b/net/nut/files/nut-server.init @@ -44,7 +44,7 @@ upsd_runas() { [ -n "$RUNAS" ] && return - config_get runas "$cfg" runas "nut" + config_get runas "$cfg" runas RUNAS="$runas" } @@ -62,7 +62,7 @@ upsd_config() { # Note runas support requires you make sure USB device file is readable by # the runas user - config_get runas "$cfg" runas "nut" + config_get runas "$cfg" runas RUNAS="$runas" config_get statepath "$cfg" statepath "/var/run/nut" @@ -221,7 +221,7 @@ build_global_driver_config() { get_write_driver_config "$cfg" retrydelay get_write_driver_config "$cfg" pollinterval get_write_driver_config "$cfg" synchronous - config_get runas "$cfg" user "nut" + config_get runas "$cfg" user RUNAS="$runas" upsd_runas @@ -229,7 +229,6 @@ build_global_driver_config() { } build_config() { - local RUNAS=nut local STATEPATH=/var/run/nut mkdir -m 0755 -p "$(dirname "$UPS_C")" @@ -252,7 +251,7 @@ start_driver_instance() { local requested="$2" local driver local STATEPATH=/var/run/nut - local RUNAS=nut + local RUNAS [ "$havedriver" != 1 ] && return @@ -301,6 +300,7 @@ start_server_instance() { start_service() { local havedriver haveserver local STATEPATH=/var/run/nut + local RUNAS # Avoid hotplug inadvertenly restarting driver during # forced shutdown