Patch from Thaddeus Ternes, adding chuid to start-stop-daemon.
diff --git a/debianutils/start_stop_daemon.c b/debianutils/start_stop_daemon.c
index 3700506..733fb41 100644
--- a/debianutils/start_stop_daemon.c
+++ b/debianutils/start_stop_daemon.c
@@ -24,6 +24,7 @@
 static int user_id = -1;
 static int quiet;
 static char *userspec = NULL;
+static char *chuid = NULL;
 static char *cmdname = NULL;
 static char *execname = NULL;
 static char *pidfile = NULL;
@@ -211,6 +212,7 @@
 	{ "name",			1,		NULL,		'n' },
 	{ "signal",			1,		NULL,		's' },
 	{ "user",			1,		NULL,		'u' },
+	{ "chuid", 			1,		NULL,		'c' },
 	{ "exec",			1,		NULL,		'x' },
 	{ "pidfile",		1,		NULL,		'p' },
 #if ENABLE_FEATURE_START_STOP_DAEMON_FANCY
@@ -249,9 +251,9 @@
 	opt = bb_getopt_ulflags(argc, argv, "KSbqm"
 //		USE_FEATURE_START_STOP_DAEMON_FANCY("ovR:")
 		USE_FEATURE_START_STOP_DAEMON_FANCY("ov")
-		"a:n:s:u:x:p:"
+		"a:n:s:u:c:x:p:"
 //		USE_FEATURE_START_STOP_DAEMON_FANCY(,&retry_arg)
-		,&startas, &cmdname, &signame, &userspec, &execname, &pidfile);
+		,&startas, &cmdname, &signame, &userspec, &chuid, &execname, &pidfile);
 
 	quiet = (opt & SSD_OPT_QUIET)
 			USE_FEATURE_START_STOP_DAEMON_FANCY(&& !(opt & SSD_OPT_VERBOSE));
@@ -301,6 +303,11 @@
 		fprintf(pidf, "%d\n", pidt);
 		fclose(pidf);
 	}
+	if(chuid) {
+		if(sscanf(chuid, "%d", &user_id) != 1)
+			user_id = bb_xgetpwnam(chuid);
+		setuid(user_id);
+	}
 	execv(startas, argv);
 	bb_perror_msg_and_die ("unable to start %s", startas);
 }
diff --git a/include/usage.h b/include/usage.h
index 7c63e2f..e8d121c 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2712,7 +2712,8 @@
 	"\n\t-o|--oknodo\t\t\texit status 0 if nothing done" \
 	"\n\t-v|--verbose\t\t\tbe verbose" \
 ) \
-	"\n\t-s|--signal <signal>\t\tsignal to send (default TERM)"
+	"\n\t-s|--signal <signal>\t\tsignal to send (default TERM)" \
+	"\n\t-U|--chuid <username>|<uid>\tstart process with this name"
 
 #ifdef CONFIG_FEATURE_STAT_FORMAT
 #  define USAGE_STAT_FORMAT(a) a