From: Daan De Meyer Date: Thu, 12 Feb 2026 08:44:29 +0000 (+0100) Subject: dissect: Use must_be_root() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01fb2d4a9e8708c1952f97881eee9d0907989420;p=thirdparty%2Fsystemd.git dissect: Use must_be_root() --- diff --git a/src/dissect/dissect.c b/src/dissect/dissect.c index 4018e8233fb..1eb17e67e48 100644 --- a/src/dissect/dissect.c +++ b/src/dissect/dissect.c @@ -863,8 +863,11 @@ static int parse_argv(int argc, char *argv[]) { if (arg_action == ACTION_SHIFT && r == 0) return log_error_errno(SYNTHETIC_ERRNO(EPERM), "Need to have CAP_CHOWN to shift UID ranges"); - if (IN_SET(arg_action, ACTION_ATTACH, ACTION_DETACH) && geteuid() != 0) - return log_error_errno(SYNTHETIC_ERRNO(EPERM), "Need to be root."); + if (IN_SET(arg_action, ACTION_ATTACH, ACTION_DETACH)) { + r = must_be_root(); + if (r < 0) + return r; + } SET_FLAG(arg_flags, DISSECT_IMAGE_ALLOW_INTERACTIVE_AUTH, isatty_safe(STDIN_FILENO));