Browse Source

early: fall-back to run ubus as root if user can't be found

Users have been reporting problems in case the ubus user is missing in
/etc/passwd. Run ubus as root in that case and display warning.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle 3 years ago
parent
commit
6acc48c7a2
1 changed files with 4 additions and 1 deletions
  1. 4 1
      state.c

+ 4 - 1
state.c

@@ -140,12 +140,15 @@ static void state_enter(void)
 		// try to reopen incase the wdt was not available before coldplug
 		watchdog_init(0);
 		set_stdio("console");
-		LOG("- ubus -\n");
 		p = getpwnam("ubus");
 		if (p) {
+			LOG("- ubus -\n");
 			mkdir(p->pw_dir, 0755);
 			chown(p->pw_dir, p->pw_uid, p->pw_gid);
+		} else {
+			LOG("- ubus (running as root!) -\n");
 		}
+
 		procd_connect_ubus();
 		service_start_early("ubus", ubus_cmd, p?"ubus":NULL, p?"ubus":NULL);
 		break;