i’m fine with this nor do i have a problem with systemd in genereal
I never understood the hate, tbh. A lot of users don’t even care if Sysd is used, as long as it works. So… Since the majority of distros use it… I think it works enough.
It seems to me to be mainly from people who are dedicated to the Unix philosophy that programs should do only one thing, and do it well. Tying everything up into systemd doesn’t follow that. I don’t care either, and I don’t mind systemd, but some people care about it enough to throw paragraphs of hate on it wherever it’s mentioned online. And apparently it’s “bloat”, and to some " bloat" is worse than the devil himself.
My main issues are that it obfuscates things and seems to consume everything it can into itself.
Honestly, if it were more transparent and designed in a way to easily facilitate swapping out components with alternatives, I’d be a lot more okay with it.
I think some of the hate is from the main systemd dev, Poettering, being so abrasive on social media. He’s got a hateboner for certain distros (which don’t ship with systemd as the default).
The article talks about
sudoanddoasbeing SUID binaries and having a larger attack surface thanrun0would. Could someone ELI5 what this means?SUID stands for Set User ID. An SUID binary is a file that is always run with the UID of the owner user (almost always root). Note that this does not require that the user running them has root permissions, the UID is always changed. For instance, the
pingcommand needs to set up network sockets, which requires root permissions, but is also often used by non-root users to check their network connections. Instead of having tosudo ping, any normal user is able to just runping, as it uses SUID to run as the root user.sudoanddoasalso require functions that necessitate them running as root, and so if you can find out how to exploit these commands to run some arbitrary code without having to authenticate (since authentication happens after the binary has started running), there is a potential for vulnerabilities. Specifically, there is the privilege escalation, which is one of the most severe types of vulnerabilities.run0starts usingsystemd-run, which does not use SUID. Instead, it runs with the permissions of the current user, and then authenticates to the root user after the binary has already started to run.systemd-runcontacts polkit for authentication, and if it succeeds, it creates a root PTY (pseudo-terminal/virtual terminal), and sends information between your session and the root PTY. So this means that in order to achieve privilege escalation withrun0as root, you have to actually authenticate first, removing the “before authentication” attack surface ofsudoanddoas.TL;DR SUID binaries will always run as the owner (usually root), even before any form of authentication.
run0will start with the permissions of the current user, and then authenticate before running anything with root permissions.
SystemD looks to replace Linux kernel with kern0
I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, SystemD/Linux, or as I’ve recently taken to calling it, SystemD plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning SystemD system made useful by the SystemD corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the SystemD system every day, without realizing it. Through a peculiar turn of events, the version of SystemD which is widely used today is often called Linux, and many of its users are not aware that it is basically the SystemD system, developed by the SystemD Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the SystemD operating system: the whole system is basically SystemD with Linux added, or SystemD/Linux. All the so-called Linux distributions are really distributions of SystemD/Linux!
Brilliant!
deleted by creator
Systemd does a lot of things that could probably be separate projects, but run0 is an example of something that benefits from being a part of systemd. It ties directly into the existing service manager to spawn new processes.
Systemd does a lot of things that could probably be separate projects,
I dont get the hate for this - Linux is full of projects that do the same thing: coreutils, busybox, kde, gnome, different office suites, even the kernel itself. It is very common for different related projects to be maintained together under the same project/branding with various different levels of integration between them. But people really seem to only hate on systemd for this…
deleted by creator
Except desktop environments - they are far from a simple loosely collection of simple stuff. They coordinate your whole desktop experience. Apps need to talk to them a lot and often in ways specific to a single DE. Theming applications is done differently for every toolkit there is, startup applications (before systemd) is configured differently, global shortcuts are configured differently by each one… If anything it is something you interact with far more than systemd and has far more inconsistencies between each one. Yet few people complain about this as much as they complain about systemd.
Systemd is a giant mess of weirdly interdependent things that used to be simple things.
They used to be simple things back when hardware and the way we use computers were much simpler. Nowadays hardware and computers are much more dynamic and hotplugable and handle a lot more state that needs to persist and be kept track of. https://www.youtube.com/watch?v=o_AIw9bGogo is a great talk on the subject and talks about why systemd does what it does.
And fragmentation of projects is what caused the xz security incident.
Yeah, if all those complainers want something more modular, they’re free to push for protocols that allow to leverage existing components while also allowing for them to come from multiple vendors.
It seems a fairly explicit goal of systemd to redefine Linux as a unified platform rather than as a kernel that can run any one of many implementations of many different services. I assume this is not just the systemd lead but also a goal of Red Hat.
Personally, while I am ok with systemd defining itself as a single source for all this functionality, I hate that they are taking away ( or making it hard at least ) to have independent implementations of these services.
What Chinera is doing with dinit and turnstile is really interesting. It would be nice to have feature comparable approaches to the systemd monolith that distributions could choose from.
What Chinera is doing with dinit and turnstile is really interesting. It would be nice to have feature comparable approaches to the systemd monolith that distributions could choose from.
Link for other readers about Chimera Linux, dinit, turnstile : https://chimera-linux.org/development
It does make sense for me to have this functionality in systemd the way they want to go about doing this.
deleted by creator
I personally don’t have a problem with run0 over sudo, however, I don’t want to have to remember to use a different command on the terminal. Just rename it “sudo”, and do the new stuff with it. Just don’t bother me having to remember new commands.
You can uninstall the sudo application and add
sudoas an alias forrun0in your shell initialization script. That’s better than them renaming run0 to sudo, because that will prevent people from running the real sudo if they want it.
Me: Oh, I get it, this “Lemmy” website – it’s like The Onion but for nerds?
My fellow lemmings: No, they’re serious. run0 is real.
Me: Hah. The Onion, but for nerds! I love it.
Anyway i prefer doas btw
sudo provides
sudoeditorsudo -ewhich allows me to use vim with my user configuration btwJust symlink your user config to root, nothing at all wrong with that.
Then the editor, all extensions, language servers, etc. are all running as root.
deleted by creator
Never had an issue.
Might look for a replacement should an issue arise.
Been driving Linux since sarge.
I’m not systemd user, and I generally see this absorbing as much as possible as a terrible practice. I don’t usually comment on systemd stuff, since I’m happy just not being forced to use it.
However, even though I don’t use it, the decision of people managing systemd really affects non systemd users. See by succeeding in getting all major distros into become systemd distros (somehow now governed by RH, if anyone cares), everything systemd absorbs tend to leave alternatives sooner or later deprecated, or abandoned.
Even autofs is no longer part of some official repos, given systemd has its own auto mount/unmount functionality… And there are several other examples…
At any rate, hopefully the more bloated systemd, doesn’t make it the more vulnerable. And also hopefully, doesn’t make life worse and worse to non systemd distros and users…
BTW, before
sudothere wassu, so a life withoutsudois possible, :)This just sounds like a bad idea, a solution in search of a problem. Sure, sudo is a setuid binary, but it’s a fairly simple program, and at some point, you have to trust the code. It’s also a very fundamental piece of the system that you want to always work, even (especially!) when other things get borked. The brief description of run0 already has too many potential points of failure.
Sure, sudo is a setuid binary, but it’s a fairly simple program, and at some point, you have to trust the code.
Have to trust the code ? doas for OpenBSD was created because of issues with sudo.
Talking with deraadt and millert, however, I wasn’t quite alone. There were some concerns that sudo was too big, running too much code in a privileged process. And there was also pressure to enable even more options, because the feature set shipped in base wasn’t big enough.
Have you seen the average sudoers file? It is not simple in the slightest
sudois not a fairly simple program. Last I checked, it had ~177k lines of code. It provides functionality far beyond what is needed of an average user.doasis a simpler alternative (also using SUID) at ~3k lines of code. It comes from OpenBSD. There is absolutely a problem when it comes to SUID binaries. If you can find a way to exploit the permissions given at the start of the SUID binary before user authentication occurs (since the UID is set before the binary runs), you have yourself a full privilege escalation vulnerability.systemdis very well integrated with the distros that use it, being the first process to run after the kernel is initialized. There will never be a point at which systemd is not functioning, but the rest of your system is perfectly fine. It is an absolutely necessary part of the system (assuming your distro uses it), and if it goes down, you have to restart your system. As such, I don’t see any validity to the statement “you want to always work, even (especially!) when other things get borked”. What exactly do you see as being an issue withrun0? What specific part of its implementation do you seem to have a problem with? It’s just a symlink tosystemd-run, which is already very well tested and has been around for a long time. It’s also far simpler thansudo, and removes the attack surface of running an SUID binary of its size. What “points of failure” do you see here, exactly?I have 0 knowledge of these things, but I do know that people always comment that sudo is bloated, that nobody is truly using everything that sudo can do, only one basic command.
Nobody is using all of sudo’s features because those features are for different use cases. Case in point, LDAP support. At home, pretty much nobody uses it. But on the job, where there are tens to hundreds of machines that someone might need, and they’re all hooked into LDAP for centralized authentication management, it makes sense to have that built into sudo. Same with Kerberos support - at home, forget it, but in a campus environment where Kerberos (and possibly AFS) are part of the network, it makes sense.
Well I guess eMacs has a real challenger these days but systems does everything poorly
Removed by mod
Between this and the pip install break all system packages
This has to be about the dumbest change I could possibly gather in the last 20 years of computing. I can’t even imagine breaking this many things all at once. I’m still dealing with the side effects of people’s installers from docker-compose and the pip problems - ansible will just never be the same again. Now this.
deleted by creator
If systems begin to drop support for the previous technology you run into incompatibility problems across the board
At this point I looks to replace systemd with vim. Anything better than systemd mess












