Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well they can’t use that to track users of Linux.

I was a big fan of Microsoft ten to fifteen years ago. I’ve since transitioned my whole family off Microsoft products now over to Linux, Apple, and proton. Edit: and Brave.

I really thought their corporate culture would’ve changed after the late 90’s but I guess this is a good lesson for founders. The culture you build into your company will likely outlast your tenure.



Both systemd and dbus have a similar device id for Linux, which e.g. Chrome reads at startup:

https://manpages.debian.org/trixie/systemd/machine-id.5.en.h...

https://manpages.debian.org/trixie/dbus-bin/dbus-uuidgen.1.e...


I don't like the idea of a persistent id for my machine. Would there be any harm in rewriting the machine-id at every boot? Or just deleting it as part of the shutdown sequence?


Whatever you do there will always be uniquely identifiable information (if not an id, a fingerprint) on your machine.

If you want to escape that, you have to use dedicated privacy-enhancing tools / browsers, but even then, it's very likely that you can still be identified by motivated adversaries.

It doesn't mean you have to give up, but, if such id is necessary for technical reasons in systemd (I guess it is), I wouldn't worry too much.


> motivated adversaries.

This sounds like you're referring to state actors and intelligence agencies, but really this applies to the entire advertising/surveillance industry of people trying to sell you a new flavor of soda.


Sure, but the problem then is not systemd machineid, but rather the browser reading it and making it available for such identification (don't know if there is a browser out there doing that though).

Unless anonymization is provided by your browser, there is nothing you can do to prevent such identification technology run by these advertisers to build your profile, and send you targeted ads.


> Unless anonymization is provided by your browser, there is nothing you can do to prevent such identification technology

The OS could treat certain apps as untrusted and spoof or limit the access to these unique identifiers.


That puts the OS in the position of attempting to profile or determine if an application is accessing OS, hardware, and user details to build a fingerprint, vs using those capabilities to do something the user intends, which puts the OS developer into a performance sucking, soul sucking arms race against big and little brother surveillance/advertising platforms. I absolutely support the intention, just know that it's a brutal battle :(


The OS already does this for a living. A set of identifiers requested sporadically by an app can’t be what breaks its back. Isn’t iOS already doing something similar?


And petty criminals that set up fake fake websites to steal your money, ad-networks are also commonly used to spread malware so limiting the number of attack surfaces is the only sane thing to do.


When you go really hard with the privacy-enhancing tools, you can potentially just make yourself even more visible. When you're so far outside the normal way a user looks you're making yourself even more unique than if you had normal-ish looking identifiers.

It can take a lot of effort to make yourself truly just blend in and disappear.


No security is perfect; there is always a way to bypass it. But security can be highly valuable.


The supported method to get a new one each boot is to truncate the file to 0 bytes and disable systemd-machine-id-commit.service

Double-check that this method actually works though.

Machine ID is used for things like dhcp leases, log rotation, etc. IPV6 addresses or transient MAC addresses are derived from it


I thought the kernel generated SLAAC addresses based on MAC and privacy addresses based on random numbers.


It does, but DHCPv6 prescribes a persistent device identifier (DUID): https://www.rfc-editor.org/info/rfc9915/#RFC3315-9

The DUID is designed to be unique across all DHCP clients and servers, and stable for any specific client or server. That is, the DUID used by a client or server SHOULD NOT change over time if at all possible; for example, a device's DUID should not change as a result of a change in the device's network hardware or changes to virtual interfaces


dhcp uses it by default nowadays.. but you can tell dhcp to use your mac address instead (like it used to)..

https://askubuntu.com/questions/1498611/ubuntu-dhcp-client-u... (linked because depending on version, there are several different ways to make this change..)


You can replace it with a generic one to hopefully blend in https://madaidans-insecurities.github.io/guides/linux-harden...


Only side effect I ran into is that journalctl couldn't find the logs of a previous boot.


wow... that implies that you can't use journalctl from a rescue environment to access the logs of the host system? Sounds like real genius design.


I do it with an hourly cronjob and haven't noticed any ill effects.


That's good to know, thank you. I'm been considering moving away from systemd, and certainly don't use Chrome.

The number of things you need to try to keep track of merely _improve_ your privacy is maddening. The whole world seems to be against you.


D-Bus is much harder to get rid of than systemd.

It’s best to focus your efforts into rotating these IDs.


Not using Chrome is a better bet for privacy than not using systemd or D-Bus. If you sign into Chrome (which by default happens any time you sign into a Google product), your entire browsing history is logged on Google's servers, and tied to your email address, Android ID, and any other machine identifiers Chrome can read.

Anyone serious about privacy is using Firefox or Tor Browser, with various settings to harden it against tracking.


firejail has a setting to generate a random machine id at every run.

And you should be running the browser inside firejail at all times.


As a sysadmin and a former enemy of systemd it's actually pretty good overall, simplifies a lot of things.

If the privacy reasons are driving you, see if you can find fixes to these issues without getting rid of systemd.


Would OpenBSD solve both of these issues or is there a device ID in there that I’m not aware of.

I’ve seen that it uses a different init system and doesn’t rely on either dbus or systemd


OpenBSD’s equivalent is the hw.uuid sysctl: https://man.openbsd.org/sysctl.2#HW_UUID~2

Other BSDs don’t have that, but have equivalent PCI tree identifiers. “hostid”, too, is found on many systems but is much less unique as it’s often a function of local network address.


I went to check if Flatpak would protect against this but it seems although it's a wanted feature it's not so straightforward to implement: https://github.com/flatpak/flatpak/issues/4311


firejail has a setting to protect against it.


Thanks, I wasn't aware of that.

I have the urge to grab a pitchfork, but I know better than to make assumptions about why that functionality was added. Time to do some homework I guess.


Wow, three pieces of software I don't use for other reasons, just gained a new reason to evangelize against them!


The utility of and presence of unique identifiers in software should be no surprise.

But if you are using TelemetryOS (i.e. you cannot fully switch off the chatter) and your daily Web browser doesn't offer privacy extensions, you are the product.


Sounds like chrome is the problem.


In dbus, it seems the feature is intended for two processes to know they can access the same shmem and other system resources. I'm struggling to understand in which circumstances would that be useful.


Creating an excuse for creating a machine-id to associate with network traffic. Sometimes, it is enough to have a plausible enough sounding reason to write down on paper, but you have to look at what something actually is. Any red blooded hacker knows there's what a tool is meant to be used for, and then there's what it can be used for. Less is more.


As an Hyperbola user both systemd and dbus are a no-no there.


Trying to imagine a world where I use Chrome unironically.


But does browser send these id?


No.


Is this specific to Debian?



Nope, but Debian does use systemd by default so it's there.

I'm running Arch Linux and /etc/machine-id is present.

There's also an optional /etc/machine-info file that could exist. It's not a part of systemd and won't be created by default. It's more of an informal way to have details about the system in 1 spot. It was more popular when provisioning bare metal servers but still has value in the cloud. You can have key / value pairs on who to contact, where it's located, what type of machine it is, etc..


FreeBSD has it as well.


> this is a good lesson for founders. The culture you build into your company will likely outlast your tenure.

Good founders already know this. Bad ones don't care.


> Edit: and Brave.

I would suggest staying away from Brave. I recently compiled the debloated Brave edition from source and was rather disappointed. Brave was slower on my machine than Firefox and Chromium according to Speedometer 3.1. The built-in adblocker does a worse job at cosmetic filtering than uBlock Origin on Firefox. On top of that, I had to build the browser from source because the only binaries I could find are Brave's own. Their builds aren't reproducible, and no Linux distro packages their own.

If you think I am being paranoid, you may also want to take a look at this:

https://www.pcmag.com/news/brave-browser-caught-redirecting-...


I remember a long time ago intel tried introducing unique IDs for their processors. People got up in arms made a big stink and intel put its tail between its legs. Many years later, the industry through a thousand little cuts has that and more with merely a whimper because it’s not a single big boogey entity but it’s diluted across hundreds of thousands of developers who deployed a myriad ways to fingerprint their users…


Tangentially related to Device ID: Apple is significantly worse when it comes to machine identifiers; even with Autopilot enabled you can still install Linux on a Microsoft Surface device (or even Windows if you don't use a Microsoft Account). With MDM locks, Apple devices are literally bricks (especially since all ram and storage is soldered down and locked/paired to the secure enclave chip).


Aww you missed the Ballmer Years. Chalked full of "me too!"'s and broken promises. But he was right about one thing. Developers, developers, developers...


Well Enterprises can also enroll Linux machines in intune




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: