Tldr; Ubuntu clones a macOS feature (from 2019) that actually makes sense.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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.
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.
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
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.
Ubuntu's AppArmor? I thought that AppArmor is fully separate from Ubuntu, and just a Linux module + user space? https://gitlab.com/apparmor/apparmor
Thats why they said “Ubuntu’s AppArmor implementation”, as in how they configure and integrate it.
is that what they mean by that? I also know it reads: “Ubuntu’s AppArmor implementation". But I didn't knew it need additional "implementation". I can just run: sudo aa-status
. I still think it's just a standalone module, and Ubuntu or Debian literately doesn't need to implement anything extra afaik. Maybe only some configuration files at: /etc/apparmor.d (and most of these files are most likely also not coming from Ubuntu xD)
Specific configuration is an implementation, as are hooks they may add to their own software to leverage features. Both Debian and Ubuntu also build their own profiles.
I see. Interesting. In my case AppArmor seems to be enabled by default under Linux Mint. As well as under my Ubuntu Server. I might need to look into this better, it looks like an important topic that many people overlooked.
It says for example "107 processes are in enforce mode". But also.. 4 profiles are in complain mode..
It’s probably something most people could learn a bit more about. On Red Hat or Fedora you don’t have to get too far out of vanilla before SELinux starts breaking things (oh, you wanted your custom systemd service to run that binary from that directory? Tough! Figure it out!), in comparison AppArmor on Ubuntu and Debian seems to get in the way a lot less. I’m not sure if that’s due to how it functions as a product or upfront work to configure it to be less intrusive.
That is very correct. SELinux is an alternative to AppArmor. But SELinux is much more secure but that comes with a cost. And that is the cost you just described. SELinux is much more advanced and gives you much more control.
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.
it seems like AppArmor isn't from Ubuntu, so that is great news. So that feature alone it doesn't require snap. But I'm now talking only about AppArmor.
But this whole 'fine-grained access control blabalba' does require Snap indeed..!
I wish other distro's would implement this. It's a very modern thing to do and really does make linux as a desktop feel more complete.
I'm fairly sure flatpaks are planned to have something like this and I am really looking forward to it
Flatpaks doing this would solve my last real problem with them
Agreed, and it is a tragedy that this requires snapd.
I hate snaps, so thanks but no thanks if this requires snapd.