this post was submitted on 06 Nov 2023
548 points (94.6% liked)

Linux

48057 readers
712 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 255 points 1 year ago (3 children)

It's not fully sandboxed if it can write to my screen! That filthy app, writing stuff all over the place!

[–] [email protected] 46 points 1 year ago

Sandboxes have been converted into quarantine bomb shelters, for child safety

[–] gentooer 41 points 1 year ago (1 children)

Haskell programmers when you tell them the main function isn't pure

load more comments (1 replies)
[–] [email protected] 17 points 1 year ago

That's why we have Wayland. :)

[–] [email protected] 148 points 1 year ago (5 children)

What if your app actually needs access to the internet?

[–] [email protected] 166 points 1 year ago (4 children)

Or actually do anything useful? No network, no filesystem.. it's a hello world app isn't it..

[–] [email protected] 125 points 1 year ago (15 children)

No filesystem access for a flatpak app just means it cant read host system files on its own, without user permission. You can still give it files or directories of files through the file explorer for the app to work with, just that it's much safer since it can only otherwise view files in its sandbox.

load more comments (15 replies)
[–] [email protected] 39 points 1 year ago* (last edited 1 year ago)

There are portals: https://docs.flatpak.org/en/latest/desktop-integration.html#portals . they allow secure access to many features. Also any flatpak app still has access to a private app-specific filesystem, just not to the host.

Doesn't work for all applications but for many sand boxing is possible without a loss of features.

[–] [email protected] 24 points 1 year ago

There's Obfuscate, an image redactor, and Metadata Cleaner which is self-descriptive. Both works properly without any filesystem access at all, because they use the file picker portal to ask the user for the files to be processed.

[–] [email protected] 23 points 1 year ago
[–] [email protected] 37 points 1 year ago (1 children)

Oh come on, what modern program actually needs to communicate or access the file system?

[–] [email protected] 49 points 1 year ago (3 children)

Exactly all programs should be web based cloud subscription only. We don't want that filthy code on our rgb nvme drives

[–] [email protected] 12 points 1 year ago

Lol, sorry no network access either.

load more comments (2 replies)
[–] [email protected] 25 points 1 year ago (2 children)

Download the internet along with it!

[–] [email protected] 38 points 1 year ago (5 children)

I'm self-hosting the entire internet. I hope you guys are enjoying yourselves.

load more comments (1 replies)
[–] [email protected] 24 points 1 year ago

The app can then declare the network permission and it will still be marked as safe.

load more comments (1 replies)
[–] [email protected] 135 points 1 year ago (2 children)

I like how the app name is blacked out so as not to dox the flathub app.

[–] [email protected] 40 points 1 year ago

Wouldn't want bad actors to find privacy respecting software.

[–] [email protected] 35 points 1 year ago

Sanboxed from prying eyes, it's completely safe.

[–] [email protected] 61 points 1 year ago (5 children)

What really needs to happen:

Flatpak packages should ask for every permission they need, and the user needs to approve every one of them.

Right now, we have this weird in-between state where some flatpak packages ship with limited permissions (like Bottles). That's because every permission the package asks for is immediately granted. The user doesn't get a chance to refuse these requests. This current model serves to make life more difficult for non-malicious flatpak packagers while failing to protect users from malicious packages.

Also, GNOME needs a Flatpak permissions center like KDE. You shouldn't need to install a third party program to manage permissions.

[–] [email protected] 20 points 1 year ago

it’s weird that android and ios already provide this but THE container standard doesn’t

[–] [email protected] 15 points 1 year ago (4 children)

Absolutely, permissions should be disabled by default, and only when the app needs to do something that requires a certain permission should it ask for it.

Maybe even do something like Android, where permissions automatically get revoked if you don't use an app for a certain time. I love that feature.

load more comments (4 replies)
[–] [email protected] 8 points 1 year ago (1 children)

I've tried to combat this a bit with a global Flatpak override that takes unnecessarily broad permissions away by default, like filesystem=home, but apps could easily circumvent it by requesting permissions for specific subdirectories. This cat-and-mouse game could be fixed by allowing a recursive override, such as nofilesystem=home/*.

But even then, there is still the issue with D-Bus access, which is even more difficult to control ...

I think it is sad that Flatpak finally provides the tool to restrict desktop apps in the same way that mobile apps have been restricted for a decade, but the implementation chooses to be insecure by default and only provides limited options to make it secure by default.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 47 points 1 year ago (2 children)
[–] [email protected] 48 points 1 year ago

It's actually Dippi but I don't want to look like I'm advertising it here

[–] [email protected] 10 points 1 year ago

!peepee !< is safe

[–] [email protected] 35 points 1 year ago (1 children)

This kind of thing could work for a few apps, say a color picker utility or a QR code generator etc.

Looking at the docs, it isn't clear if apps can write to their own namespace (instead of writing to user folders directly), but if they can, we could expand the scope to games like supertuxkart, 2048 etc, which would then be able to save user milestones and progress in their own area - a bit like how Android apps do it

https://docs.flatpak.org/en/latest/sandbox-permissions.html

It's a great start IMO, although admittedly there is still work to do. Flatpak atm bridges the gap with allowing new apps, requiring new libs, to run on older stable/LTS distros

[–] [email protected] 21 points 1 year ago (1 children)

Yes, they can. There are app-specific folders in .local that flatpaks can read and write to specifically for this purpose, and also the file picking dialog may give access to the one specific file you picked.

Android IMO has great usability in exposing a database to apps, which means they aren't required to ship their own database engine.

load more comments (1 replies)
[–] [email protected] 33 points 1 year ago (1 children)

Likes like Hello World is ready to ship.

[–] [email protected] 27 points 1 year ago* (last edited 1 year ago) (7 children)

With a bit of modifying code to use the color picker and maybe rearranging the workflow to adapt to the new system, apps as advanced as DaVinci Resolve and LibreOffice can have permissions as restrictive as this (the network permission would of course may be needed but it would still be marked as Safe by Flathub).

You can use the file picker API to open the files or folders your app would need to access while having no filesystem permissions at all. You can access the camera, microphone, and GPS without the user devices portal, by simply using the respective portals where the user has the power to allow or deny access to such devices as they wish.

You can record the screen, take a screenshot, and pick a color in the screen by simply calling the proper portals, with the bonus that the user will be able to select if they want the entire screen, a specific window, or a specific area to be recorded/captured and whether the cursor should be shown or not.

Heck, even TeamViewer can be as this restricted without losing any functionality if they use the Screen Cast portal which allows apps to mirror input from a remote device! They would of course need the network permission, but that's still safe.

load more comments (7 replies)
[–] [email protected] 27 points 1 year ago

this sandbox craze is slowly pushing things back to the point where we used cartridges and booted off from them straight to the program. who needs an OS at this point? it's bundled with the app anyway 😆

/s, somewhat

[–] [email protected] 22 points 1 year ago (1 children)

It's nice to see good app security being praised. Sometimes it feels like some people on lemmy (and the fediverse) throw security to the wind.

Like one time I had heard someone over on Mastodon say that they thought that HTTPS was too overused and shouldn't have been everywhere because it makes older apps unable to access sites and also made adblocking just ever so slightly harder.

Which yeah, I love adblockers, but I'm definitely not comfortable with all traffic having to go unencrypted just for it.

load more comments (1 replies)
[–] [email protected] 20 points 1 year ago (1 children)

This is useful for proprietary software.

[–] [email protected] 33 points 1 year ago* (last edited 1 year ago)

As well as FOSS too. Sandboxing is a security standard that should be followed by every software how open their code may be.

[–] [email protected] 12 points 1 year ago (1 children)

What is this? A solitaire game?

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (2 children)

This could well be an advanced video editor or an office suite if they take full advantage of the portals API without losing any functionality. Well, they can have the network permission, it would still be safe anyway.

load more comments (2 replies)
load more comments
view more: next ›