X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fmain.c;h=e094efeb3c5efb4f9a74587b75cb199a3c75061b;hp=f9aba46b5865527153569a7f22baf6b651c95ed2;hb=6bae23a0388dd077fee99e83e161d297c3e2b768;hpb=080ffcb4a124bd77054a3909bbd5f14d62f79b62 diff --git a/src/core/main.c b/src/core/main.c index f9aba46b5..e094efeb3 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -62,6 +62,7 @@ #include "hwclock.h" #include "selinux-setup.h" #include "ima-setup.h" +#include "sd-daemon.h" static enum { ACTION_RUN, @@ -1423,11 +1424,19 @@ int main(int argc, char *argv[]) { if (parse_argv(argc, argv) < 0) goto finish; - if (arg_action == ACTION_TEST && geteuid() == 0) { + if (arg_action == ACTION_TEST && + geteuid() == 0) { log_error("Don't run test mode as root."); goto finish; } + if (arg_running_as == SYSTEMD_USER && + arg_action == ACTION_RUN && + sd_booted() <= 0) { + log_error("Trying to run as user instance, but the system has not been booted with systemd."); + goto finish; + } + if (arg_running_as == SYSTEMD_SYSTEM && arg_action == ACTION_RUN && running_in_chroot() > 0) {