Skip to Content [alt-c]

Andrew Ayer

Sections

How to Crash Systemd in One Tweet

Comment by Anonymous

Posted in reply to Comment by Reader rtfa.

This comment is owned by whoever posted it. I am not responsible for it in any way.

The Unix philosophy is that you do one thing and to do it well.

That means that you should have a program reaping zombies and do nothing else.

You should have a program that starts the system services taking their dependencies into account. The oldfashioned way is to do them in a specific order, the new way is to calculate the dependencies. You should have a simple program that asks for an IP address on a network interface and does nothing else but to assign that IP address on that interface.

All these are simple programs that can be reasonably comprehended and verified.

Once you integrate all this, the complexity increases, and the amount of work to maintain the code base increases super-linearly. And as agwa says: the consequences of a problem become more troubling. Use the tools that are already there. The "runlevel switching" may want to accept "requests" from userspace. Make that a root-only socket or something.

If you want to make users able to switch runlevels or other "normally root" stuff, delegate that to "sudo" or modern variants of such tools. Or make a daemon that will accept commands from the normal users and passes them on as a privileged one. Again a bug somewhere in this process has the problems contained.

| Posted on 2016-10-02 at 13:23:12 UTC by Anonymous | Parent | Reply to This

Post a Reply

Your comment will be public. If you would like to contact me privately, please email me. Please keep your comment on-topic, polite, and comprehensible. Use the "Preview" button to make sure your comment is properly formatted. Name and email address are optional. If you specify an email address it will be kept confidential.

Post Comment


(Optional; will be published)


(Optional; will not be published)


(Optional; will be published)


  • Blank lines separate paragraphs.
  • Lines starting with ">" are indented as block quotes.
  • Lines starting with two spaces are reproduced verbatim.
  • Text surrounded by *asterisks* is italicized.
  • Text surrounded by `back ticks` is monospaced.
  • URLs are turned into links.