[systemd-devel] From command-line 'systemctl suspend' works' from cron it does not

Lennart Poettering lennart at poettering.net
Fri Apr 1 19:34:13 UTC 2016


On Mon, 21.03.16 09:21, Cecil Westerhof (cldwesterhof at gmail.com) wrote:

> When executing
>     systemctl suspend || echo "Error code: ${?}"
> from the command-line it outputs
>     Error code: 1
> and it puts my machine in suspend.
> 
> When putting it in cron it gives the following errors:
>     Failed to execute operation: Access denied
>     Failed to start suspend.target: Access denied
> and gives the output:
>     Error code: 4
> 
> What is happening here? Is it possible to run 'systemctl suspend' from
> cron, or is there a reason why this is not possible?

if you run "systemctl suspend" as unprivileged user, PolicyKit is
queried whether your user shall be allowed the opreatoin. The default
policy for PolicyKit we install says that users on local consoles may
suspend the system. However, a cron user is not on a local console,
hence doesn't get this privilege.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list