mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-04 17:47:03 +03:00
run/mount/systemctl: don't fork off PolicyKit/ask-pw agent when in --user mode
When we are in --user mode there's no point in doing PolicyKit/ask-pw because both of these systems are only used by system-level services. Let's disable the two agents for that automaticlly hence. Prompted by: #20576
This commit is contained in:
parent
93d2e0b6b0
commit
966f3a246c
@ -332,6 +332,9 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
assert_not_reached();
|
||||
}
|
||||
|
||||
if (arg_user)
|
||||
arg_ask_password = false;
|
||||
|
||||
if (arg_user && arg_transport != BUS_TRANSPORT_LOCAL)
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||
"Execution in user context is not supported on non-local systems.");
|
||||
|
@ -507,6 +507,10 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
assert_not_reached();
|
||||
}
|
||||
|
||||
/* If we are talking to the per-user instance PolicyKit isn't going to help */
|
||||
if (arg_user)
|
||||
arg_ask_password = false;
|
||||
|
||||
with_trigger = !!arg_path_property || !!arg_socket_property || arg_with_timer;
|
||||
|
||||
/* currently, only single trigger (path, socket, timer) unit can be created simultaneously */
|
||||
|
@ -925,6 +925,11 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
|
||||
assert_not_reached();
|
||||
}
|
||||
|
||||
/* If we are in --user mode, there's no point in talking to PolicyKit or the infra to query system
|
||||
* passwords */
|
||||
if (arg_scope != UNIT_FILE_SYSTEM)
|
||||
arg_ask_password = false;
|
||||
|
||||
if (arg_transport == BUS_TRANSPORT_REMOTE && arg_scope != UNIT_FILE_SYSTEM)
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||
"Cannot access user instance remotely.");
|
||||
|
Loading…
x
Reference in New Issue
Block a user