cross-posted from: https://lemmy.ndlug.org/post/1104312
The upcoming Ubuntu 24.10 operating system promises a new feature called “permissions prompting” for an extra layer of privacy and security.
The new permissions prompting feature in Ubuntu will let users control, manage, and understand the behavior of apps running on their machines. It leverages Ubuntu’s AppArmor implementation and enables fine-grained access control over unmodified binaries without having to change the app’s source code.
From Ubuntu Discourse: Ubuntu Desktop’s 24.10 Dev Cycle - Part 5: Introducing Permissions Prompting
This solution consists of two new seeded components in Ubuntu 24.10, prompting-client and desktop-security-center alongside deeper changes to snapd and AppArmor available in the upcoming snapd 2.65. The first is a new prompting client (built in Flutter) that surfaces the prompt requests from the application via snapd. The second is our new Security Center:
In this release the Security Center is the home for managing your prompt rules, over time we will expand its functionality to cover additional security-related settings for your desktop such as encryption management and firewall control.
…
With prompting enabled, an application that has access to the home interface in its AppArmor profile will trigger a request to snapd to ask the user for more granular permissions at the moment of access:
As a result, users now have direct control over the specific directories and file paths an application has access to, as well its duration. The results of prompts are then stored in snapd so they can be queried and managed by the user via the Security Center.
Tldr; Ubuntu clones a macOS feature (from 2019) that actually makes sense.
Not that bad though
Yeah, all for security. I’ve been “complaining” about this for a while. :)
Looking at the video they posted, surely the act of navigating and selecting a location via the file save portal should implicitly give permission?
Iirc, that’s something Flatpak allows.
From the Discourse Blog:
The Linux desktop provides XDG Desktop Portals as a standardised way for applications to access resources that are outside of the sandbox. Applications that have been updated to use XDG Desktop Portals will continue to use them. Prompting is not intended to replace XDG Desktop Portals but to complement them by providing the desktop an alternative way to ask the user for permission. Either when an application has not been updated to use XDG Desktop Portals, or when it makes access requests not covered by XDG Desktop Portals.
Since prompting works at the syscall level, it does not require an application’s awareness or cooperation to work and extends the set of applications that can be run inside of a sandbox, allowing for a safer desktop. It is designed to enable desktop applications to take full advantage of snap packaging that might otherwise require classic confinement.
So this looks like it complements and not replaces the XDG Desktop Portals, especially for applications that have not implemented the Portals. It allows you to still run those applications in confinement while providing some more granular access controls.
XDG Desktop Portals as a standardised way for applications to access resources that are outside of the sandbox
It is designed to enable desktop applications to take full advantage of snap packaging
So all this only affects Snap apps, is that correct?
Yes, based on the diagrams on their blog, it looks like this only impacts Snaps.
I’m not exactly sure whether or not this is good, but my gut feeling is that this sounds like it will very quickly become very annoying permission hell.
macOS can be a bit of a permission hell at times, but I’ll take it over having less control over the privacy and security of my system
Presumably its only opt-in to the application you want to use it with. If this new system was applied to all applications by default, yeah it could become a problem. The reason why the permission control in Android and Flatpak works is, because those applications and packages are designed and built with these limitations by default and the user should not need to modify the permissions. There are a few cases (in Flatpak) where you need to change the permission, which is annoying, especially if you don’t know. How worse will it be with applications that are not designed with these limitations in mind and force them with permissions taken away with this new tool?
Overall I don’t think it’s such a bad idea to have a technology on your hand to limit permissions and access, but it needs to be opt-in. In example this could be useful for AppImages, that are downloaded from the web and not managed by your operating system or a community like Flathub.
It seems like it would be useful for things like camera permissions and stuff, but it seems a little unnecessarily complicated for file access compared to just using a filechooser portal like flatpak does, then the user can just select specifically what they want when they want to without having to think about permissions.
Every time, I’m ready to jump the Ubuntu ship and go back to Debian or Mint, they announce something interesting; something I’d at least want to try.
Is this tied to Snap format? Or can this be used with any application you want and only require AppArmor? Flatpak or Android does permission control too and its a good idea to have. But those require the app to be created with these permissions in mind, whereas this new solution from Canonical can seemingly work with any application.