From: Michael Tremer Date: Tue, 24 Feb 2026 11:32:53 +0000 (+0000) Subject: telemetryd: Add switch to run as a non-privileged user X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60a8142650ca150aa102d4346ff8e4a2ce0b9d36;p=telemetry.git telemetryd: Add switch to run as a non-privileged user Signed-off-by: Michael Tremer --- diff --git a/src/daemon/main.c b/src/daemon/main.c index cdd3a83..16129e1 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -36,17 +36,21 @@ static const char* doc = "The IPFire Telemetry Daemon"; enum { OPT_DEBUG = 1, OPT_SOURCE = 2, + OPT_USER = 3, }; static struct argp_option options[] = { { "debug", OPT_DEBUG, NULL, 0, "Run in debug mode", 0 }, { "source", OPT_SOURCE, "SOURCE", 0, "Only enable this source (for testing)", 0 }, + { "user", OPT_USER, "USER", 0, "Run as user", 0 }, { NULL }, }; // Collect all sources that should be enabled static char** sources = NULL; +static const char* user = "nobody"; + static error_t parse(int key, char* arg, struct argp_state* state) { td_ctx* ctx = state->input; @@ -62,6 +66,10 @@ static error_t parse(int key, char* arg, struct argp_state* state) { case OPT_SOURCE: return td_strings_append(&sources, arg); + case OPT_USER: + user = arg; + break; + default: return ARGP_ERR_UNKNOWN; }