From: Martin Pitt Date: Tue, 5 Apr 2016 08:30:45 +0000 (+0200) Subject: polkit: don't start polkit agent when running as root X-Git-Tag: v230~215^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=89d034822075dfa8d18af8182019028cc428a1b5;p=thirdparty%2Fsystemd.git polkit: don't start polkit agent when running as root On the server side we already bypass the polkit checks if the caller is root (see the sd_bus_query_sender_privilege() call in bus_verify_polkit_async()). So there is no reason to invoke polkit when running systemctl/machinectl/loginctl/timedatectl as root. Fixes #2748 --- diff --git a/src/shared/spawn-polkit-agent.c b/src/shared/spawn-polkit-agent.c index cf3c8ad5a34..7dae4d14fe2 100644 --- a/src/shared/spawn-polkit-agent.c +++ b/src/shared/spawn-polkit-agent.c @@ -44,6 +44,10 @@ int polkit_agent_open(void) { if (agent_pid > 0) return 0; + /* Clients that run as root don't need to activate/query polkit */ + if (geteuid() == 0) + return 0; + /* We check STDIN here, not STDOUT, since this is about input, * not output */ if (!isatty(STDIN_FILENO))