• moonpiedumplings@programming.dev
    link
    fedilink
    English
    arrow-up
    21
    ·
    edit-2
    5 months ago

    No one complained when s6, another init system, also offered a sudo alternative (before systemd did, too). But when Poettering does it, it’s bad and wrong and ununixlike!

    Maybe setuid has been extremely problematic, and more than one entity has sought alternatives?

    • pivot_root@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      5 months ago

      If the alternative involves shoving polkit on a server just for temporary admin privileges, it’s unnecessary.

      • moonpiedumplings@programming.dev
        link
        fedilink
        English
        arrow-up
        14
        ·
        edit-2
        5 months ago

        You could say the same thing about sudo. Sudo’s codebase is massive, compared to alternatives like doas, but it comes with many features doas does not have, like being able to ask a remote LDAP server if a user will be able to escalate.

        I find it absurd that we have just simply accepted the idea of a setuid binary with built in networking code, as our primary admin escalation tool. 100,000+ lines of C code, code that has had multiple buffer overflow exploits*, in a setuid binary, just for temporary admin privileges. Does that seem necessary to you?

        Polkit provides an alternative to that. If you don’t need the features, then fine, you don’t have to use run0 — but then you can’t use sudo without being a hypocrite. No longer do I have to have rely on a setuid binary that tries to do everything in one program when I really need sudo’s features, instead polkit handles authentication (including asking remote resources if an action is okay), and run0 handles actual escalation.

        In another comment in this thread, you mention sudo being lightweight — which is outright false. Compared to doas or su, it’s extremely heavyweight, and with that complexity comes more risk of vulnerabilities. You also mention pkexec, for executing with polkit, but pkexec is also setuid, and has many of the same pitfalls.

        *Buffer overflow exploits in sudo:

        1. https://arstechnica.com/information-technology/2020/02/serious-flaw-that-lurked-in-sudo-for-9-years-finally-gets-a-patch/
        2. https://blog.qualys.com/vulnerabilities-threat-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit
        • pivot_root@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          5 months ago

          Does sudo have a plethora of stupid features? Yeah.

          What it doesn’t have is a needlessly complicated and overengineered design that relies on interprocess communication and three different daemons from two separate packages. It generates a temporary systemd service to actually run the privileged command, for Davis’ sake. That is one hell of a surface area for something that’s the gateway between an unprivileged user and root.

          I’m not saying sudo deserves to be used permanently, but if someone is going to replace it with a new tool for security reasons, that tool should be less complicated and use fewer runtime dependencies than what it’s replacing. When you account for the entire architecture of run0, sudo is lightweight in comparison.

        • potkulautapaprika@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 months ago

          Better put than I would’ve said. I don’t much care for lennart, but he’s right about some things here. Sudo is unnecessarily huge so it being setuid binary is obviously not great.

          Run0 isn’t probably the solution, but something might emerge one day that handles privilege escalation in a more today’s sane way than sudo.

          Doas is kind of an option, but if you are gonna rework this, makes sense to re-think it more than ‘leaner sudo’. Let’s see what pops up some years later, after all, we all (probably) thought pulseaudio was gonna stay forever too.

  • pivot_root@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    5 months ago

    Yeah… we didn’t need run0.

    Setuid and sudo work fine, and they’re lightweight. I fail to see how yet another binary is needed for that job, and especially one that relies on polkit. If you really needed to use polkit for gaining privileges temporarily, pkexec already exists for that.

      • Akatsuki Levi@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 months ago

        I can’t wait to replace that crap piece of shit of a nvidia gpu that I have for a radeon to replace my main station with Alpine

    • HouseWolf@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      5 months ago

      I’ve been playing around with it in a VM and thinking of throwing over my old Windows drive I haven’t used in months to see how well it works on my actual hardware.

      Getting Pipewire setup on it has been a pain in VM and all the fixes others posted online haven’t helped me.

  • SpaceNoodle@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    ·
    5 months ago

    Moving a potential vulnerability from one place to another just increases risk with the introduction of new unknowns.

      • MigratingtoLemmy@lemmy.worldM
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 months ago

        Maybe I should take a stab at it, I knew it was maintained in some capacity but I thought most of userland would break without Systemd

        • notabot@lemm.ee
          link
          fedilink
          English
          arrow-up
          4
          ·
          5 months ago

          I haven’t seen any breakage, although you may find documentation assumes SystemD. Debian maintains init freedom, and support for sysVinit was improved in Bullseye, so it’s not being forgotten about.

          If you don’t fancy going that route, there are Debian forks that are designed to be SystemD free such as Devuan or MX linux, which defaults to sysVinit. I’ve not tried either, but they seem well regarded, and I’m sure there are others too.

  • KISSmyOSFeddit@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    5 months ago

    My ideal Linux system would consist of only the kernel, systemd, an immutable root file system, and flatpaks.
    Fuck the Unix philosophy, this isn’t the 90’s anymore.

    • Lem453@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 months ago

      So Fedora atomic?

      There’s like a dozen variants as well to suit any specialty application

      • KISSmyOSFeddit@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        5 months ago

        That’s what I currently run. But it still has a lot of stuff installed as rpm.
        I’m curious what Ubuntu’s snap-only system is going to be like. AFAIK they push snaps over flatpaks because flatpaks aren’t suited to using them for the base system utilities while snaps are.