this post was submitted on 14 Oct 2023
20 points (100.0% liked)

Linux

47228 readers
1223 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
 

I haven't really used Linux, but I feel it might be useful for a potential project. Is it possible, and how doable is it, to have a password locked admin account and an open user account which is heavily restricted on what they can do? As in, not even browse files. Preferrably only desktop access where they can launch the apps placed there. Which Linux would be the best for this while still being on the easier side to figure out? I do understand tech somewhat well and quite enjoy problem solving, so doesn't need to be ELI5 territory.

all 16 comments
sorted by: hot top controversial new old
[–] [email protected] 9 points 11 months ago* (last edited 11 months ago) (1 children)

There are several Linux distributions specifically made for "kiosk" type applications. I don't have any specific ones to suggest, but if you search "Linux distro for kiosk" that should return plenty of results. Might be easier to use one of those to suit your needs than modifying a normal distro like Debian, Fedora, Ubuntu, etc

[–] Hedgehawk 3 points 11 months ago (1 children)

I'll have to see if they'll fit better. It all really depends what way the project ends up going. Thanks for the suggestion!

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

Yeah, came here to also say this is called Kiosk mode. You can also not have the filesystem writable and only have user files in (volatile/temporary) memory and everything set back to default once the user logs out. This is used in libraries and on computers in schools. Like a "Live-CD". And in my library the computer just logs out the user after 5 minutes of inactivity. Clears everything, sets everything back to default, opens the browser fresh with the homepage of the library.

The concept with the files in RAM ins usually called 'ramdisk'. It is a virtual filesystem on top of the write-protected one that doesn't ever change.

I think you can also prevent write access in general, but there are some caveats to that. Depends on the use-case.

[–] RegalPotoo 6 points 11 months ago

Along with the restrictions others have mentioned, you could look at running your system as a "live" install:

  • Actual OS boots directly off media like a USB stick or DVD
  • Operating system is mounted "read only" - even the super admin can't change files in the root partition
  • Even if a clever user finds a way to run programs, their changes don't persist after a reboot
  • If you need some persistence (eg, allowing users to save documents) you could mount a network share as the /home partition, but mount it "noexec" so if users manage to download programs from the internet, they aren't able to run them
[–] [email protected] 6 points 11 months ago (1 children)

Gnome has a feature in the settings for selecting which current applications can be made available to other users. I think it may be a flatpak only feature though.

Also another user will not be able to access another user's files if they are encrypted with LUKS or systemd-homed.

[–] Hedgehawk 1 points 11 months ago

Thanks! I'll check out Gnome too.

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

"Cannot even browse files" could imply being unable to run binaries like a shell. Could you expand a bit on your desired use case?

[–] Hedgehawk 3 points 11 months ago (1 children)

Poor wording on my part. Simply don't want them to excecute anything I don't want them to or get into some directories. Access to something like My Files would be fine and in some cases may be needed, but nothing past that.

[–] [email protected] 3 points 11 months ago

Check out bash restricted mode. Try running man bash and find the section RESTRICTED SHELL