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));