[systemd-devel] Run reboot as normal user
Colin Guthrie
gmane at colin.guthr.ie
Tue Nov 30 09:36:53 UTC 2021
Mantas Mikulėnas wrote on 30/11/2021 08:42:
> On Tue, Nov 30, 2021 at 10:11 AM Mohamed Ali Fodha
> <fodha.mohamed.ali at gmail.com <mailto:fodha.mohamed.ali at gmail.com>> wrote:
>
> Hello,
>
> I want to run reboot as normal user using the following command:
> dbus-send --system --print-reply --reply-timeout=2000
> --type=method_call --dest=org.freedesktop.login1
> /org/freedesktop/login1 org.freedesktop.login1.Manager.Reboot
> boolean:false
>
> but I got a Permission denied error.
>
> I checked that verify_shutdown_creds (in logind-dbus.c) calls
> bus_verify_polkit_async, could it be the reason why I got permission
> denied error while polkit is not installed?
>
>
> Yes. Polkit is the authorization system that decides whether to allow
> normal users to do privileged actions or not.
>
> I don't want to use Polkit or sudo, is there any solution ?
>
> No.
When you say you don't want to use polkit, are you just saying you want
to run dbus-send directly rather than prefixing it with pkexec or that
you really don't want polkit installed at all?
If you don't mind having polkit installed and configured (doesn't have
to run all the time) then running dbus-send as above will just work as
you want (no need to run it via a pkexec wrapper). That's literally the
job of polkit - to allow certain privileged operations to users.
If this isn't what you want you'll need to write your own suid wrapper
binary that calls the commands for you.
Col
More information about the systemd-devel
mailing list