• jet@hackertalks.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 months ago

    But with one key difference: it’s *not* in fact SUID. Instead it just asks the service manager to invoke a command or shell under the target user’s UID. It allocates a new PTY for that, and then shovels data back and forth from the originating TTY and this PTY. Or in other words: the target command is invoked in an isolated exec context, freshly forked off PID 1, without inheriting any context from the client (well, admittedly, we *do* propagate $TERM, but that’s an explicit exception, i.e. allowlist rather than denylist).

  • OpFARv30@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    Yall understand that what actually changed is a symlink? That systemd-run is now linked from run0, and that’s enough to make a SUID-less sudo?

    • NekkoDroid@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      Basically. systemd-run was already able to do it, all that really changed is the interface for it. The change to run.c in the patch itself was <400LOC, and the entire patch was <1.4k lines with most being docs, tests and utils for coloring the terminal.

    • Vilian@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      OpenBSD’s sudo replacement called “doas”. While it greatly simplifies the tool and removes much of the attack surface, it doesn’t change one key thing: it’s still a SUID binary.

    • kevincox@lemmy.mlM
      link
      fedilink
      arrow-up
      0
      ·
      7 months ago

      Out of the box no. But it would be easy to implement if you don’t need very complex rules. (I don’t actually know how permissions work for sudoedit.)

      • bamboo@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        sudoedit copies a file to a temp directory, invokes $EDITOR with that temp file, and after the editor process exits, it copies the file back to overwrite the original. This way you get your user preferred and configured editor, but it doesn’t have any elevated privileges.

  • theshatterstone54@feddit.uk
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    Great. Another thing that makes non-systemd distros even more painful to use. /s I like systemd, but the people that called the OS Systemd/Linux were right, and that name becomes more accurate every day.

    • Kata1yst@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      Accurate, but not bad, yes. It turns out standardized base systems and ABIs are important to an ecosystem.

      Linux tried the disorganized free-for-all for two decades, and what we got was fragmented “Ubuntu admins”, “debian admins”, “redhat admins”, “suse admins”, and a whole shitload of duplicated effort in the packaging ecosystem, only for half the packages out there to be locked to Ubuntu or RHEL. So the corporate interests, and a fair number of the community efforts, centralized their problems and solutions into a small standardized suite in Mesa+Wayland+systemd+Pipewire+flatpak, etc

      The result is a ton more interoperability, a truly open ecosystem where switching your distro doesn’t mean hiring different people and using different software, and a lot more stability and maturity.

      And hey, if a user or distro wants to do their own thing, they can make and own their niche, same as before. Nothing lost.

      It’s been kind of wild to watch over the past 15 years or so, makes me very hopeful for the next 15.

      • theshatterstone54@feddit.uk
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        I agree that standardisation is good, but sudo is already a standard. If anything, I think this might, once again, split things further by creating another competing standard. It’s like that XKCD. But to be honest, I’m not an admin or enterprise customer yet, so I don’t know if this might not be an improvement. On an individual level, I’d be okay with run0 becoming a standard if it’s good enough, as long as we get a sudoedit or “sudo -e” replacement too, as I only discovered it about 2 months ago, but I already use it a lot.