Ultimately, the problem is much bigger than /etc/machine-id since there are dozens of hardware IDs on any PC that can be used by malicious telemetry to silently to uniquely identify and track you, and the only solution to this problem currently is to make sure you really trust any software you use.

Systemd, in particular, acts a lot like malware for Linux because if you try to reset your machine-id a long list of stuff that breaks in in it. You could make a cron script to reset /etc/machine-id every day, but machine-id is so deep in the stack that you’d also have to reboot to ensure it’s updated.

  • hirihit640@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days ago

    I was agreeing with you. Systemd breaks unix philosophy. You know what else breaks unix philosophy? The Linux kernel. It’s absolutely massive. If you want unix philosophy, switch to a microkernel.

    Also another commenter in this discussion pointed out that flatpak does not actually obfuscate machine-id. You can read the issue tracker here: https://github.com/flatpak/flatpak/issues/4311

    Basically comes down to a design decisions from 15+ years ago, in things that flatpak depends on. This is an open issue to this day. Would it have been better for flatpak to have delayed release until this was solved, possibly remaining unreleased to this day? Meanwhile everybody would have to use regular system packages, which not only have access to machine-id, but also the entire userspace, with zero sandboxing. I doubt that would be better.

    • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      There are microkernels like minix and they work well, but that’s a different animal because user space is where you actually do make changes much more commonly than in the kernel. Also, I don’t really follow your argument regarding flatpack, it’s like you’re implying that containerized apps couldn’t exist without using machine-id for some reason?

      • hirihit640@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        I’m saying that if flatpak tried to implemenet machine-id obfuscation before releasing, they might not have ever released. By constraining their scope, they were able to focus on their other goals and release, and a lot of Linux users including me, are glad they did so. You can think of systemd’s machine-id situation in the same way

        • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          I’m saying flatpack didn’t even have to use machine-id at all for anything it does. I don’t know why you’re so invested in the idea that this was somehow necessary and nothing better is possible.

          • hirihit640@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 days ago

            Perhaps ask in the github issue I linked earlier why machine-id is necessary at all. They may have their reasons. My guess is that it makes it easier for devs to port their applications to flatpak, namely legacy apps that depended on machine-id.

            • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
              link
              fedilink
              arrow-up
              1
              ·
              1 day ago

              It probably does, but I suspect they just didn’t consider the problem in the first place rather than the issue being that not having a persistent id is somehow extraordinarily difficult.

              • hirihit640@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 day ago

                You could say the same about Linux itself and machine-id. Fingerprint resistance just wasn’t in the project scope.

                • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 day ago

                  You could, but there was no machine-id on Linux originally and it was something that got added and arguably shouldn’t have been. Again, I’m really struggling to understand why you’re so invested in defending this decision. Like it’s obviously a bad decision, it’s not necessary, why is it so hard for you to just say that.

                  • hirihit640@sh.itjust.works
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    5 hours ago

                    I feel like my argument is not that hard to follow. I’m saying that just because machine-id makes fingerprinting easier, doesn’t make it a bad decision because it could still lead to a net positive. In the Linux kernel’s case, it might have been a simple solution to other problems, at a time when fingerprinting was not a concern. In systemd’s case, it might have made it easier to accomodate legacy systems that depended on machine-id. Same with flatpak.

                    Linux, systemd, and flatpak are all fairly successful within their target markets. Clearly, you’re going to need more evidence if you want to claim it’s a bad decision.

                    In fact even if your goal is privacy and fingerprint resistance, just switching to another init system is not a panacea. First off, as mentioned in the flatpak github issue linked earlier, there are tons of other markers aside from machine-id that can be used for fingerprinting. And if you’re using a mainstream distro, your new init system is likely less supported, meaning more bugs, worse security, and potentially a net loss in privacy.

                    Win the battle, lose the war. This is why I brought up compromise and strategy earlier.

                    In the end, it’s hard to say how individual decisions like machine-id, contribute to the net result. There are pros and cons to each decision. Maybe if there was a competitor that didn’t use machine-id and pulled ahead due to that decision, but I’m not seeing one.