Explanation for newbies: setuid is a special permission bit that makes an executable run with the permissions of its owner rather than the user executing it. This is often used to let a user run a specific program as root without having sudo access.

If this sounds like a security nightmare, that’s because it is.

In linux, setuid is slowly being phased out by Capabilities. An example of this is the ping command which used to need setuid in order to create raw sockets, but now just needs the cap_net_raw capability. More info: https://unix.stackexchange.com/questions/382771/why-does-ping-need-setuid-permission. Nevertheless, many linux distros still ship with setuid executables, for example passwd from the shadow-utils package.

  • Billegh@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    Hard agree to setuid being a problem. And that it is a problem because any of these tools written in c can be a security hole, because c is hard to get right. And I find it funny that c devs are butthurt over how rust won’t let them write obviously bad code.

    But it’s OK, words are difficult. 😊

    • Shanmugha@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      3 days ago

      And now you do not care so much that this comment tree is already hilariously long, and also has two of your emojis used to hide your true emotions. As much as I would love to discuss how c devs are “butthurt” and Rust is so damn good (sarcasm, of course), I just won’t do it with someone so full of themselves and insecure. Have a good day