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 <cshored@thecshore.com>
This commit is contained in:
parent
5dfd1bcd74
commit
f48b060fa7
2 changed files with 12 additions and 1 deletions
|
@ -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/
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue