<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 19, 2021, 18:29 yves baumes <<a href="mailto:ybaumes@gmail.com">ybaumes@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>First I am not sure it is the correct place to ask questions about lib sd-bus. Is it? Here is my issues:<br><div><br></div><div>I am trying to use the lib sd-bus, following this blog post: <a href="http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html" target="_blank" rel="noreferrer">http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html</a> .</div><div><br></div><div>I am able to launch my own service on the *user* bus.</div><div>When I launch it on the *system* bus, problems appear.</div><div>First I had a permission denied issue, and to correct it I had to create a configuration file in /etc/dbus-1/system.d/net.poettering.Calculator.conf . As stated in <a href="https://stackoverflow.com/questions/32828468/sd-bus-api-sd-bus-request-name-returns-permission-denied" target="_blank" rel="noreferrer">https://stackoverflow.com/questions/32828468/sd-bus-api-sd-bus-request-name-returns-permission-denied</a> .</div><div>Thus the executable launches perfectly (no more 'permission denied' errors).</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">This is normal as the system bus is "deny everything by default", to make sure unprivileged users can't impersonate a service.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><br></div><div>Now I am trying to inspect the service with D-feet. The service is well listed on the left pane: net.poettering.Calculator, but when I click on it, I get an error window stating :</div><div>'net.poettering.Calculator: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":-1.1996" (uid=1000 pid=3110822 comm="/usr/bin/python3 /usr/bin/d-feet" label"unconfined") interface="org.freedesktop.DBus.Introspectable" member="Introspect" error name ="(unset)" requested_reply="0" destination=net.poettering.Calculator" (uid=0 pid=3110595 comm="./-bus-service" label="unconfined")(9)' .</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">This also means you need to allow things in the dbus-daemon policy. Not only does the service need permissions to claim a name, but everyone also needs permissions to send it messages (and receive replies).</div><div dir="auto"><br></div><div dir="auto">In many cases you can copy a basic policy that just allows everything from any UID to your service (possibly still limited by interface), like how UDisks2.conf does it.</div></div>