Title.
It’s an unnecessary layer of complexity. I am the only user of my personal laptop. I don’t need fine-grained permissions. Linux users and groups are enough for any permission needs I might have, like docker group, audio and video groups, etc. I don’t have any “classified” documents on my computer. My home directory and root are on different disks. I can easily format and reinstall my system if something goes wrong and keep all my personal data.
Having your home directory on a different disk is something that could’ve saved me a lot of headache. Can’t believe I didn’t think of that.
- It’s extraordinarily complex.
The reality is that security is not just technical implementation, but also actually getting people to use the solutions. “Stop disabling SELinux” is not a real answer to when people disable it, like we have one person in this thread.
Another problem with complex security solutions is they are hard to get right. Even if you enable them and configure them, without being an expert, it’s possible you left a gap here or there, and holes and gaps in these solutions.*
- Like so many other complex linux security solutions, it is lacking effectiveness due to still sharing the same kernel.
There is a good, but bit dated writeup here about the problems with Linux security, from an architecturual perspective: https://madaidans-insecurities.github.io/linux.html . But, the short version is that the Linux kernel is large and complex, and has a lot of attack surface. And it’s a frequent source of vulnerabilities because attackers can hit it as long as they access to the kernel, even if they are in a container/sandbox. Like, copyfail and dirtyfrag would punch through containers, but also punch through SELinux.
For example, just earlier on lemmy someone dropped a zero day that punches through SELinux: https://programming.dev/post/51103657
Now, SELinux can be used to restrict what a root shell could do after escalating… but that’s further complexity you have to learn to configure, and configure it correctly as well.
Ultimately, none of the Linux security solutions come anywhere near the isolation of simply running something in a virtual machine. Which, also happens to be a lot simpler and actually possible to get people to use.
*(putting this at the bottom because it veers off topic) I have a greater argument and problem with mentalities like this. I have noticed a pattern, where many of the more effortfull and toil intensive security solutions are recommended by people who have the time, energy, and skills to execute them. They have a bias/blindspot to the realities, which is that not everyone is in the same situation as them.
For example, updating/patching software. Linux distros like RHEL or Debian, have a policy where they only do security updates, and don’t do feature updates or bugfixes. This enables them to ship automatic updates, so that security issues are automatically handled.
On the other hand software like Windows, likes to bundle in breaking changes along with security updates. So automatic updates get disabled because “They might break something”. And then, people don’t update them, and environments get horrifically out of date, because not enough money/time/people is put into regular IT people who are in charge of maintaining them.
But some environments, have heroes, people who go around patching everything and keeping everything up to date and secure. And when they see these environments that don’t have everything patched, they usually give the advice of “You should patch everything” (while simultaneously advising against auto updates), not understanding that these environments are lacking a key ingredient: Themselves.
Sure, I could be a hero. I could “patch” everything manually. I could deploy SELinux. But that would only last until I get burnt out, or leave. Once I’m gone, SELinux, the patches, any similar security solutions are gone. I’ve met so many people, even in cybersecurity, that are apathetic about security, even though they might have cared once upon a time.
Thank you, this is a really helpful answer and string of replies. I do not work in computer science, nor do I have any prerequisite knowledge on how security on Linux is typically handled, but this got me a little closer to understanding things and I appreciate it.
Sorta kinda not really related- I appreciated your less-than-topical section a lot, maybe for slightly different reasons than assumed. As someone trying to learn how to tinker with computers and self-host services ‘the right way’, I have been trying to comb through a lot of information written by folks with years and years of experience. I can’t tell you how many times I’ve felt like the weirdo when I am told to ‘just do X’, so I try to ‘just do X’, and I’m expected to have a job doing this stuff to understand what ‘X’ even is and how it works.
It’s a massive turn-off from learning anything, especially when those knowledgeable people suggest only the most jargon-laden explanations and pointers, and then shut down others who suggest forgoing their methods altogether. Maybe my problems arise from appending ‘reddit’ onto most of my searches, but that’s about the only place I know I can see (what looks like) actual people interacting, and more specifically, people asking newbie questions. Stack overflow is hell to find good answers with, I find…
I posted this both because I feel like Lemmy benefits from people posting engaging questions like this in its’ current state, and mainly because I couldn’t get a straight answer out of anyone when I was wondering why people were trashing on SELinux so often. I want to do things the right way! I deeply value security and doing things ‘correctly’, but I’ve not the experience, knowledge, or time required to do things ‘the right way’ as it exists in others’ eyes. I’m not you, dude! I just want to learn how to host Jellyfin in my bedroom; it’s hurricane season and I need YouTube videos to play while I do things, and I’m aware anything to do with networking should be handled carefully. I don’t care about stuff like leaving SELinux enabled, because I don’t understand why I should. Help me care instead of being a dick and/or unaware of how much you actually know and can do yourself.
Arrrgh. Hopefully that was coherent. (Also, if I get told to use an LLM again, I’ll lose my mind! I’m learning, I don’t need the hallucinating plagiarism machine as a teacher!)
I no reasons for disliking it. SELinux is an incredibly powerful security tool.
Uh. I guess people have random opinions and blast them on the internet. I can see how someone would misconfigure their computer and then blame it on the software. Or use software they don’t need, which just adds unnecessary complexity and more issues. Other than that, I don’t think there’s anything wrong with SELinux.
It surprises me. Rather it’s not SELinux it’s userland stuff that reports the wrong error.
Say I try to mount a directory into a podman container and try to read a file. I get some variety of file not found (it’s right there, I can see it) or permission denied error (its permissions are 777) but in reality its label is wrong.
It’s a pain in the ass when you want to run a web server on your PC. You have to disable SELINUX else the damn thing won’t let me modify html pages and show the updates. Everything is just frozen from making any changes. That said, it’s probably easier to do web development another way, my method is nearly two decades obsolete. SELINUX really pissed me off though. I wanted to test forum software on my PC once, and SELINUX was blocking me and I couldn’t figure it out for ages.
For 2 years, I had to set up production environments on RHEL, mostly Apache and Keycloak servers. I had a limited, very specific list of sudo permissions, and I had to ask very specifically what I else needed, which was then granted by people who neither knew nor cared what I was working on.
SELinux permission problems were always the fallback reason when nothing else made sense. With my permissions, I could not just straight up check for it. E. g. Apache would not server a folder, cryptic error -> check file permissions -> check general Apache config problems -> assume SELinux permission is missing and request it, supplying the exact command they need to type.
Who said that? I really like it.
deleted by creator
It made it harder for me to install Guix.
It was made by the NSA so that’s already minus 5 points right there.
I’m not kidding. Look it up on DDG.
the code is right there guy
Never used it, but i think that’s also because it doesn’t work on distros without systemd. So i guess that’s a reason to dislike it?
I’m a sysadmin and I don’t understand it, so I just set it to permissive so it doesn’t interfere with my work.
The machine is behind a firewall anyway so it’s safe.




