From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 241D9C6A2; Wed, 26 Nov 2025 21:35:06 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 17841C4FD; Wed, 26 Nov 2025 21:34:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fout-b4-smtp.messagingengine.com (fout-b4-smtp.messagingengine.com [202.12.124.147]) by atuin.qyliss.net (Postfix) with ESMTPS id 0D751C490 for ; Wed, 26 Nov 2025 21:34:43 +0000 (UTC) Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50]) by mailfout.stl.internal (Postfix) with ESMTP id E7A461D00161 for ; Wed, 26 Nov 2025 16:34:40 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-10.internal (MEProxy); Wed, 26 Nov 2025 16:34:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1764192880; x= 1764279280; bh=5RHUYz7Pw4KldjpiqPUloX39Jr8179oa0bmX5WeSPyE=; b=d zZJVh7xe3wPDL4L1wZhvNuySsSZynWS9U4gdaQrl+kF0hrL7gQxkQ44OC2XReWd1 9lsaZuhmlY5s2+soBUXr2RkUUAPzCPyGnJxbMIDkcXu6/iHSELLjw74RE1/T1ydW 3jcWh0H8yoFY+F65lOw+qGiaSrO+EHKI3Q7sBodPnnKu0+K7U3h3TxxbvKO+nlRD q0QrSlIoGEidP5snuXlNGeIHa5vAEZitwF+hCayr7Qq5+salJryqRHUXTNhUVcqx YjglR+dzegQysAsHSSjmNITbOPC1AwU3+ruExkS9mE5VEgxx8V4K5L27w858xZup 32XIxPo/Kn/mBV+1gizgA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1764192880; x=1764279280; bh=5RHUYz7Pw4KldjpiqPUloX39Jr81 79oa0bmX5WeSPyE=; b=cf21hUrgxlvt2xwQPI8UVAsVteyN/3N8ELAt/FNoDJRV W6qSLBbvsIkdY2ItQSWl2M+BmxfEjdxDlun/qlgcbC2wfi0ZAOH57mfSlZtA/xhE BzEZ1ie2wjW6zZIS4ijLaiOGYmmbKGMw8mZXVJX4nHCodREXSDfTOefxyhH5j7WV oF2ScuAlw6JRDPXb52VCNsQKDlkTHE5FNa2UQDcGKnkTSjEaj6qdg0mktNYwnVCu w9xexsx/ejLJUSyNabkHpkydsYpJE3wXl25DIVPVu+MsR6HUXAbYZ+27YhXSgttI gW0rXO6LpXJRw7jX5TDOTynWybW0Gpdnrh3ZalSi1A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvgeehgeegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgjfhgggfestdekredtre dttdenucfhrhhomheptehlhihsshgrucftohhsshcuoehhihesrghlhihsshgrrdhisheq necuggftrfgrthhtvghrnhepgfefudekvdelieelledufeevheeglefggedvudejvddtff euueevffehleejkedvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghi lhhfrhhomhephhhisegrlhihshhsrgdrihhspdhnsggprhgtphhtthhopedupdhmohguvg epshhmthhpohhuthdprhgtphhtthhopeguvghvvghlsehsphgvtghtrhhumhdqohhsrdho rhhg X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 26 Nov 2025 16:34:40 -0500 (EST) Received: by fw12.qyliss.net (Postfix, from userid 1000) id 1F1292981B5A; Wed, 26 Nov 2025 22:34:19 +0100 (CET) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH 13/13] img/app: run applications as non-root Date: Wed, 26 Nov 2025 22:34:06 +0100 Message-ID: <20251126213407.1773744-13-hi@alyssa.is> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251126213407.1773744-1-hi@alyssa.is> References: <20251126213407.1773744-1-hi@alyssa.is> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: HLAKXTT7DX6XMVYP45HTTASJLHCDL35G X-Message-ID-Hash: HLAKXTT7DX6XMVYP45HTTASJLHCDL35G X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: The session bus has to run as the same user as the application, because xdg-desktop-portal expects to be able to open the application's /proc/pid/root to check if it's a Flatpak. Signed-off-by: Alyssa Ross --- img/app/image/etc/s6-rc/app/run | 13 ++++--------- img/app/image/etc/s6-rc/dbus-vsock/run | 2 ++ img/app/image/etc/s6-rc/dbus/run | 3 +++ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/img/app/image/etc/s6-rc/app/run b/img/app/image/etc/s6-rc/app/run index 601926b..5ce5b3a 100755 --- a/img/app/image/etc/s6-rc/app/run +++ b/img/app/image/etc/s6-rc/app/run @@ -4,15 +4,8 @@ export TMPDIR /run -backtick USER { id -un } -backtick HOME { - importas -i user USER - homeof $user -} - -importas -i home HOME -if { mkdir -p -- $home } -cd $home +export HOME /home/user +cd /home/user if { /etc/mdev/wait virtiofs0 } @@ -22,6 +15,7 @@ foreground { case $type { appimage { if { modprobe fuse } + s6-setuidgid user export LD_LIBRARY_PATH /lib64 /run/virtiofs/virtiofs0/config/run } @@ -32,6 +26,7 @@ foreground { store /nix/store } + s6-setuidgid user /run/virtiofs/virtiofs0/config/run } } diff --git a/img/app/image/etc/s6-rc/dbus-vsock/run b/img/app/image/etc/s6-rc/dbus-vsock/run index 37fae7d..4733bae 100755 --- a/img/app/image/etc/s6-rc/dbus-vsock/run +++ b/img/app/image/etc/s6-rc/dbus-vsock/run @@ -14,4 +14,6 @@ systemd-socket-activate -l vsock::219 --now if { fdmove 1 3 echo } fdclose 3 +s6-setuidgid user + socat ACCEPT-FD:4,fork UNIX-CONNECT:/run/session-bus diff --git a/img/app/image/etc/s6-rc/dbus/run b/img/app/image/etc/s6-rc/dbus/run index a609e86..031d730 100644 --- a/img/app/image/etc/s6-rc/dbus/run +++ b/img/app/image/etc/s6-rc/dbus/run @@ -3,6 +3,9 @@ # SPDX-FileCopyrightText: 2023, 2025 Alyssa Ross s6-ipcserver-socketbinder -Ba 0770 /run/session-bus +if { chown user: /run/session-bus } + +s6-setuidgid user export LISTEN_FDS 1 getpid LISTEN_PID -- 2.51.0