On Wed, Jul 3, 2024 at 9:17 AM Vít Ondruch <vondr...@redhat.com> wrote: > > > Dne 02. 07. 24 v 13:49 Neal Becker napsal(a): > > > > On Tue, Jul 2, 2024 at 5:59 AM Vít Ondruch <vondr...@redhat.com> wrote: >> >> >> Dne 01. 07. 24 v 22:58 Aoife Moloney napsal(a): >> > Wiki - >> > https://fedoraproject.org/wiki/Changes/UnprivilegedSystemFlatpakManagement >> > Discussion thread - >> > https://discussion.fedoraproject.org/t/f42-change-proposal-unprivileged-management-of-system-flatpaks-system-wide/124336 >> > >> > This is a proposed Change for Fedora Linux. >> > This document represents a proposed Change. As part of the Changes >> > process, proposals are publicly announced in order to receive >> > community feedback. This proposal will only be implemented if approved >> > by the Fedora Engineering Steering Committee. >> > >> > == Summary == >> > This proposal adds a new dedicated `flatpak` group, allowing users to >> > manage system Flatpaks without needing to be in the `wheel` group. >> > >> > == Owner == >> > * Name: [[User:boredsquirrel| Henning]] >> > * Email: boredsquir...@secure.mailbox.org >> > >> > >> > == Detailed Description == >> > Currently, to install, uninstall and modify apps or repositories, >> > users need to be in the `wheel` group. Removing a user from the wheel >> > group would interfere with the currently default (systemwide) >> > configuration of Flatpaks. >> > >> > All users can add a `user` repository, and manage their own user >> > Flatpaks. But a dedicated group to manage system flatpaks, without >> > relying on `wheel` allows more fine grained privileges. >> >> >> I am not Flatpak user, but I wonder why Flatpaks are system wide >> installed by default? And if it would not be better to make them user >> installed instead of this proposal. >> >> >> Vít >> >> >> >> > This enables an "admin" permission that is not tied to full root >> > access on the host system. >> > >> > It will be a change of the polkit rule `org.freedesktop.Flatpak.rules` >> > like following: >> > >> > >> > polkit.addRule(function(action, subject) { >> > if ((action.id == "org.freedesktop.Flatpak.app-install" || >> > action.id == "org.freedesktop.Flatpak.runtime-install"|| >> > action.id == "org.freedesktop.Flatpak.app-uninstall" || >> > action.id == "org.freedesktop.Flatpak.runtime-uninstall" || >> > action.id == "org.freedesktop.Flatpak.modify-repo") && >> > subject.active == true && subject.local == true && ( >> > subject.isInGroup("wheel") || subject.isInGroup("flatpak"))) { >> > return polkit.Result.YES; >> > } >> > >> > return polkit.Result.NOT_HANDLED; >> > }); >> > >> > polkit.addRule(function(action, subject) { >> > if (action.id == >> > "org.freedesktop.Flatpak.override-parental-controls") { >> > return polkit.Result.AUTH_ADMIN; >> > } >> > >> > return polkit.Result.NOT_HANDLED; >> > }); >> > >> > >> > == Feedback == >> > none yet >> > >> > == Benefit to Fedora == >> > This is a step towards the Confined Users goal. It enables a dedicated >> > action, the management of Flatpaks, without needing all the other >> > privileges that `wheel` users have. >> > >> > == Scope == >> > * Proposal owners: changing a single rule, testing with nonwheel users >> > in the `flatpak` group >> > >> > * Other developers: none >> > >> > * Release engineering: [https://pagure.io/releng/issues #Releng issue >> > number] >> > >> > * Policies and guidelines: Documentation needs to get an additional >> > chapter on Flatpak management with the `flatpak` group. >> > >> > * Trademark approval: N/A (not needed for this Change) >> > >> > * Alignment with the Fedora Strategy: Yes >> > >> > >> > == Upgrade/compatibility impact == >> > The polkit rule will be overwritten, there will be no changes in >> > behavior. It just enables a new feature. >> > >> > == How To Test == >> > On Atomic or traditional Fedora, place the above rule in >> > `/etc/polkit-1/rules.d/org.freedesktop.Flatpak.rules`. >> > >> > This will be preferred over the default rule and you can test if it works. >> > >> > == User Experience == >> > By default, Anaconda puts users into the `wheel` group. There will be no >> > change. >> > >> > But it enables to manage Flatpaks without being in that privileged group. >> > >> > == Dependencies == >> > None >> > >> > >> > == Contingency Plan == >> > >> > * Contingency mechanism: this is a simple fix, not adding it will keep >> > the previous wheel need >> > * Contingency deadline: N/A >> > * Blocks release? N/A >> > >> > >> > == Documentation == >> > Will be added afterwards. >> > >> > Nonwheel users can be added to the `flatpak` group: >> > >> > >> > sudo groupadd flatpak >> > sudo usermod -aG flatpak USERNAME >> > >> > >> > >> > == Release Notes == >> > >> > Permission to manage systemwide flatpaks is now granted to users in >> > the 'flatpak' group. >> > Currently wheel is required in order to install packages with dnf/rpm. Why > should flatpak be different? > > > Because Flatpak can do that it seems. > > But mainly, for single user computer, it does not really matter, the > application can be installed in user profile and it won't need any elevated > privileges. For multi user computer, why the apps installed by one user > should influence other users? Of course there might be system administrator > who might install those system wide. > > But I also see other benefits. E.g. for user computers, if home is on > separate partition, there might be more space then on the system partition. > In my experience, the Flatpak runtimes might consume quite some space. >
For anyone running with the F33+ default storage setup with Btrfs, there are no practical space contention issues between storing per-user vs system-wide. Provided that reflinks are used by the flatpak software, there can be even more significant space savings because identical blobs on the system or per-user will be deduplicated in storage. -- 真実はいつも一つ!/ Always, there's only one truth! -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue