Hi Lennart Poettering, Can you give me some more clarity on why this cannot safely be implemented? Do you mean the use of polkit?
I have few fundamental question. 1) Dbus uses .conf files in /etc/dbus-1/system.d/ or /usr/share/dbus-1/system.d/ to allow and deny access to dbus method calls. And what is the point of allowing a user in these conf files if eventually systemd will block the call? 2) Why is "busctl call" to slandered interfaces such as org.freedesktop.DBus.Peer still work even if caller is non-root. 3) I see that busctl commands such as "tree", "introspect" etc., are still allowed for non-root user. So why is there a restriction "call"? My basic use case is that I want to run a application as non-root and be able to make "busctl call" to interface of an application running in root. Do you think there is any way to do that? Regards, Arun Lal K M -----Original Message----- From: systemd-devel <systemd-devel-boun...@lists.freedesktop.org> On Behalf Of systemd-devel-requ...@lists.freedesktop.org Sent: Friday, March 10, 2023 5:30 PM To: systemd-devel@lists.freedesktop.org Subject: systemd-devel Digest, Vol 155, Issue 8 Send systemd-devel mailing list submissions to systemd-devel@lists.freedesktop.org To subscribe or unsubscribe via the World Wide Web, visit https://lists.freedesktop.org/mailman/listinfo/systemd-devel or, via email, send a message with subject or body 'help' to systemd-devel-requ...@lists.freedesktop.org You can reach the person managing the list at systemd-devel-ow...@lists.freedesktop.org When replying, please edit your Subject line so it is more specific than "Re: Contents of systemd-devel digest..." Today's Topics: 1. How to make sd_bus_creds_has_effective_cap return success. (Lal, Arun) 2. Re: How to make sd_bus_creds_has_effective_cap return success. (Lennart Poettering) ---------------------------------------------------------------------- Message: 1 Date: Fri, 10 Mar 2023 06:54:17 +0000 From: "Lal, Arun" <arun....@intel.com> To: "systemd-devel@lists.freedesktop.org" <systemd-devel@lists.freedesktop.org> Cc: "Ayushi, Smriti" <smriti.ayu...@intel.com>, "Shah, Nirav J2" <nirav.j2.s...@intel.com> Subject: [systemd-devel] How to make sd_bus_creds_has_effective_cap return success. Message-ID: <dm4pr11mb53602b65bcde4fcfed8b1b1b88...@dm4pr11mb5360.namprd11.prod.outlook.com> Content-Type: text/plain; charset="utf-8" Hi All, I would like to receive some clarity on following commit in systemd (https://github.com/systemd/systemd/commit/def9a7aa0182e5ecca3ac61b26f75136a5c4f103) I was trying to run an application as non-root. Currently, I am facing an issue that I am not able to make a "busctl call" from a non-root user to a D-Bus service running as root. Example: 1. Create a non-root user using useradd command 2. The following is exposed by a daemon running as root service - xyz.openbmc_project.xxxx objectpath - /xyz/openbmc_project/xxxx/get_data interface - xyz.openbmc_project.GetData method - getData 3. From putty log in to BMC console and using "su nonrootuser" switch to non-root user 4. Run the following command: busctl call xyz.openbmc_project.xxxx /xyz/openbmc_project/xxxx/get_data xyz.openbmc_project.GetData getData and we get response "Call Failed: Access denied" On investigation, 'Access Denied' failure response was coming from the systemd recipe. >From file systemd\src\libsystemd\sd-bus\bus-convenience.c method_callbacks_run->check_access fails In case of root check_access->sd_bus_query_sender_privilege returns 1 because of the following condition if (sender_uid == our_uid) return 1; In case of non-root check_access->sd_bus_query_sender_privilege function returns 0 I would like to understand how "return 1" can be achieved from sd_bus_query_sender_privilege function. Specifically the below mentioned "return 1" r = sd_bus_creds_has_effective_cap(creds, capability); if (r > 0) return 1; >From your commit message I can see that polkit has some role here. But I am >new to polkit and any help would be appreciated ? Regards, Arun Lal K M -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20230310/c8a2982b/attachment-0001.htm> ------------------------------ Message: 2 Date: Fri, 10 Mar 2023 11:57:41 +0100 From: Lennart Poettering <lenn...@poettering.net> To: "Lal, Arun" <arun....@intel.com> Cc: "systemd-devel@lists.freedesktop.org" <systemd-devel@lists.freedesktop.org>, "Ayushi, Smriti" <smriti.ayu...@intel.com>, "Shah, Nirav J2" <nirav.j2.s...@intel.com> Subject: Re: [systemd-devel] How to make sd_bus_creds_has_effective_cap return success. Message-ID: <ZAsNJUyqqwHEFmd4@gardel-login> Content-Type: text/plain; charset=us-ascii On Fr, 10.03.23 06:54, Lal, Arun (arun....@intel.com) wrote: > Hi All, > > I would like to receive some clarity on following commit in systemd > (https://github.com/systemd/systemd/commit/def9a7aa0182e5ecca3ac61b26f > 75136a5c4f103) This is stuff that cannot safely be implemented on the AF_UNIX. It was a safe concept when kdbus was a thing. Ignore it. Lennart -- Lennart Poettering, Berlin ------------------------------ Subject: Digest Footer _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel ------------------------------ End of systemd-devel Digest, Vol 155, Issue 8 *********************************************