/etc/machine-id --> wie am besten löschen/erneuern?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

/etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von mistersixt » 05.10.2015 14:11:20

Ich habe gerade gesehen, dass systemd während der Erstinstallation eine eindeutige "machine ID" generiert, in /etc/machine-id ablegt und diese ID über die Dauer der Installation bestehen bleibt (Danke, lieber Poettering). Einfach so weglöschen (regelmässig per cron oder so) geht vermutlich nicht, weil sich dbus auch daran bedient. Man könnte im Stop-Script vom dbus vermutlich ein fröhliches remove machen, so dass zumindest beim Reboot eine neue ID angelegt wird. Aber bei Rechnern, die immer "up" sind, bringt das auch nichts.

Hat sich damit schon mal Jemand auseinander gesetzt und eine nette Lösung im Petto?

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von rendegast » 10.10.2015 12:51:12

Einfach so weglöschen (regelmässig per cron oder so) geht vermutlich nicht, weil sich dbus auch daran bedient.
Ich würde es in einer VM ausprobieren.
Nach /dev/null verlinken?

http://man7.org/linux/man-pages/man1/sy ... tup.1.html?
/etc/machine-id <-> /var/lib/dbus/machine-id


Angreifbarkeit?
Ein dbus->localhost könnte auf einen Remote gelenkt werden,
statt wieder zurück zum localhost zu kommen. Ein Schutz wäre die frühere Antwort von localhost.
Andererseits wird sich bei einer beabsichtigten Abfrage dbus->netzwerk dann eher localhost melden als der gewünschte Remote-Host.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von catdog2 » 10.10.2015 13:42:06

Hat sich damit schon mal Jemand auseinander gesetzt und eine nette Lösung im Petto?
Welches Problem versuchst du überhaupt zu lösen?
Unix is user-friendly; it's just picky about who its friends are.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von rendegast » 10.10.2015 22:52:58

Eine nicht näher kommunizierte,
System-lebenszeitlang individuelle, potentiell universelle tracking-Id?

Dazu die unterschwellige "Drohung", daß bei Löschung/Änderung soviel Sachen nicht mehr funktionieren könnten (<-> Easteregg), daß eine Neuinstallation ansteht.
Natürlich wieder mit einer solch universellen ID.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von catdog2 » 10.10.2015 23:09:16

System-lebenszeitlang individuelle, potentiell universelle tracking-Id?
Wer soll dich denn da tracken?
Dazu die unterschwellige "Drohung", daß bei Löschung/Änderung soviel Sachen nicht mehr funktionieren könnten (<-> Easteregg), daß eine Neuinstallation ansteht.
Das wird wo gedroht?
Unix is user-friendly; it's just picky about who its friends are.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von rendegast » 11.10.2015 00:28:07

man machine-id hat geschrieben: The machine ID does not change based on user configuration or
when hardware is replaced.

This machine ID adheres to the same format and logic as the
D-Bus machine ID.

Programs may use this ID to identify the host with a globally
unique ID in the network,
which does not change even if the
local network configuration changes. Due to this and its
greater length, it is a more useful replacement for the
gethostid(3) call that POSIX specifies.
Tracker sind damit ja fast schon angekündigt.
In order to maintain compatibility with existing
installations, an application requiring a UUID should decode
the machine ID, and then apply the following operations to
turn it into a valid OSF v4 UUID. With "id" being an unsigned
character array:
.......
Mensch darf sich also schonmal darauf einrichten, eine "Compatibility" zu maintainen.
Kombiniert mit obigem (darauf berufene Anwendungen),
addiert weitere Abstraktionsebenen und hohe Komplexität lese ich daraus potentiell weitreichende Probleme.
Zuletzt geändert von rendegast am 11.10.2015 00:33:49, insgesamt 2-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

DeletedUserReAsG

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von DeletedUserReAsG » 11.10.2015 00:31:04

Eine nicht näher kommunizierte,
System-lebenszeitlang individuelle, potentiell universelle tracking-Id?

Dazu die unterschwellige "Drohung", daß bei Löschung/Änderung soviel Sachen nicht mehr funktionieren könnten (<-> Easteregg), daß eine Neuinstallation ansteht.
Natürlich wieder mit einer solch universellen ID.
Ich weiß nicht … a) kann man ausprobieren, was nicht mehr funktioniert wenn man sie ändert (etwa via systemd-machine-id-setup), und b) hat jeder Rechner mehr als genug eindeutige, teils sogar OS-übergreifende, Identifikationsmöglichkeiten.

Ich fände es gut, wenn die Bedenken bezüglich der besonderen, zusätzlichen Gefährlichkeit der betreffenden ID näher erläutert werden könnten. Insbesondere die potentiell weitreichenden Probleme vermag ich nicht zu erkennen.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von rendegast » 11.10.2015 01:27:53

niemand hat geschrieben: Ich fände es gut, wenn die Bedenken bezüglich der besonderen, zusätzlichen Gefährlichkeit der betreffenden ID näher erläutert werden könnten.
Das netzwerkbasierte Programm google-chrome benutzt eine unique-ID.
Hier wird von einer "globally unique ID" zur Erkennung des Systems im Netzwerk gesprochen.
Ich sehe da eine gewisse Ähnlichkeit.
Insbesondere die potentiell weitreichenden Probleme vermag ich nicht zu erkennen.
(Windows) - Maschine-ID - neue Grafik/MB - Reaktivierung.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

DeletedUserReAsG

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von DeletedUserReAsG » 11.10.2015 01:48:51

Entschuldige, ich vermag die Zusammenhänge zwischen der Tatsache, dass unter Anderem auch Googles Chrome und Microsofts Windows Unique-IDs benutzen, und der Gefährlichkeit/den potentiellen Problemen einer Unique-ID in der machine-id weiterhin nicht zu erkennen. Eindeutige Bezeichner sind immerhin ein weit verbreitetes Konzept, das schon ziemlich lange auch in Linuxssystemen zu finden ist. Was übersehe ich?

Funktioniert das Ändern der ID via z.B. systemd-machine-id-setup nicht?

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von dufty2 » 11.10.2015 08:29:32

niemand hat geschrieben: Funktioniert das Ändern der ID via z.B. systemd-machine-id-setup nicht?
Bei vorhandener Datei macht der Aufruf von systemd-machine-id-setup gar nichts (wie auch in der man-page beschrieben), löscht man sie und ruft den Befehl auf, wird genau die gleiche erzeugt (weil sie vom d-bus rüberkopiert wird).
Löscht oder verschiebt man sie, haut es Dir Fehlermeldungen beim nächsten Boot nur so um die Ohren ...

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von habakug » 11.10.2015 12:34:02

Hallo!

Man kann systemd-firstboot [1] auf das gemountete Image loslassen. Etwa so:

Code: Alles auswählen

# systemd-firstboot --root=/mnt/MeinImage --setup-machine-id
Gruss, habakug

[1] http://www.freedesktop.org/software/sys ... tboot.html
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

DeletedUserReAsG

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von DeletedUserReAsG » 11.10.2015 12:46:20

Bei vorhandener Datei macht der Aufruf von systemd-machine-id-setup gar nichts (wie auch in der man-page beschrieben), löscht man sie und ruft den Befehl auf, wird genau die gleiche erzeugt (weil sie vom d-bus rüberkopiert wird).
Hab’ das gerade mal auf einem laufenden System ausprobiert, bei leerer oder nicht vorhandener machine-id wird eine neue ID erzeugt. Also so, wie‘s die Beschreibung erwarten lässt: „Initialize /etc/machine-id from a random source.“.

Edit: … aber eine andere Möglichkeit, als sie beim nächsten Reboot in den dbus zu bekommen, habe ich noch nicht gefunden. dbus einfach zu restarten, ist keine gute Idee, und ein Reload liest diese ID irgendwie nicht neu ein.

Edit2: dbus-send --system --print-reply / org.freedesktop.DBus.Peer.GetMachineId gibt die neue ID auch ohne Reload aus. Aber in dem Teil vom systemd1 gibt es weiterhin die alte ID.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von dufty2 » 11.10.2015 15:35:03

Code: Alles auswählen

# cat /etc/debian_version 
stretch/sid
# mv /etc/machine-id /etc/machine-id.old
# systemd-machine-id-setup
Initializing machine ID from D-Bus machine ID.
# diff -s /etc/machine-id /etc/machine-id.old
Files /etc/machine-id and /etc/machine-id.old are identical
#
q.e.d.

DeletedUserReAsG

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von DeletedUserReAsG » 11.10.2015 15:42:06

Code: Alles auswählen

root@ns33:/etc# mv machine-id machine-id.
root@ns33:/etc# systemd-machine-id-setup 
Initializing machine ID from random generator.
root@ns33:/etc# diff machine-id machine-id.
1c1
< 6c956c1e4e4bfa6fb90233e1561a6723
---
> d61e8840d75cecae02b28770561a6710
Hier ist’s ein aktuelles Jessie. Ein aktuelles Arch tut’s genauso. In der Doku steht’s entsprechend. Wäre rauszufinden, was sie bei Testing kaputtgemacht haben.

---Edit:

Man sollte bedenken, dass die betreffende ID tatsächlich genutzt wird, die Logs etwa befinden sich unter /var/log/journal/[machine-id]/
Ändert man nun die ID mittels systemd-machine-id-setup (oder wenn das, wie bei Stretch, nicht möglich ist [und es dort auch keine Option geben sollte], via dbus-uuidgen > /etc/machine-id) wird das Journal zwar erstmal weitergeschrieben, bei Verwendung vom journalctl versucht dieses dann aber, auf das Journal unter der neuen ID zuzugreifen und scheitert naturgemäß.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von mistersixt » 20.10.2015 07:36:26

Bei meinem Jessie klappt das nicht :-( :

Code: Alles auswählen

root@mars:/etc# cat /etc/debian_version 
8.2
root@mars:/etc# mv machine-id machine-id.
root@mars:/etc# systemd-machine-id-setup 
Initializing machine ID from D-Bus machine ID.
root@mars:/etc# diff machine-id*
root@mars:/etc#
Also doch vielleicht beim Herunterfahren /var/lib/dbus/machine-id löschen, /etc/machine-id auch und hoffen, dass beides automatisch neu angelegt wird (oder halt mit sowas wie "date | md5sum > /var/lib/dbus/machine-id" oder "uuidgen | sed -e 's/-//g' > /var/lib/dbus/machine-id" selbt eine neue generieren). Muss ich mal ausprobieren, in welchem Stop-Script ich das am besten einbaue.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von rendegast » 20.10.2015 09:55:31

niemand hat geschrieben: Man sollte bedenken, dass die betreffende ID tatsächlich genutzt wird, die Logs etwa befinden sich unter /var/log/journal/[machine-id]/
Auch user-Prozesse, hier gerade

Code: Alles auswählen

# lsof | grep $machine-id

pulseaudi ... /home/user/.pulse/$machine-id....

alsa-sink ... /home/user/.pulse/$machine-id....

alsa-sour ... /home/user/.pulse/$machine-id....

(firefox) ... /home/user/.cache/event-sound-cache.tdb.$machine-id....
Bei letzterem kommt die System-Architektur diversifizierend hinein.
(jessie32 und jessie64 in Benutzung)



Wenn ich machine-id mal leere/lösche,
funktioniert nach dem Neustart pulseaudio des Benutzers nicht mehr.
Letztendlich hat wohl Löschen von
~/.config/pulse/cookie (früher wohl ~/.pulse-cookie)
geholfen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von Blackbox » 05.12.2015 07:30:23

Ich habe gerade bei der Recherche zu einem anderem Problem über dieses hier gestolpert.

http://www.freedesktop.org/software/sys ... ne-id.html
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von breakthewall » 01.03.2017 08:12:23

Hallo

Da ich mich die Tage auch mit den Pros/Contras der /etc/machine-id beschäftigt habe, gibt es hierzu ein durchaus interessantes Update.

systemd 223:
https://github.com/systemd/systemd/blob/master/NEWS
sd-id128 gained a new API for generating unique IDs for the host
that does not leak the machine ID. Specifically,
sd_id128_get_machine_app_specific() derives an ID based on the
machine ID a in well-defined, non-reversible, stable way. This is
useful whenever an identifier for the host is needed but where the
identifier shall not be useful to identify the system beyond the
scope of the application itself. (Internally this uses HMAC-SHA256 as
keyed hash function using the machine ID as input.)

Benutzeravatar
schorsch_76
Beiträge: 2535
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von schorsch_76 » 01.03.2017 08:51:44

Weis jemand für welchen Zweck diese ID da ist? Für was ist sie denn gedacht?

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von jph » 01.03.2017 16:06:28

schorsch_76 hat geschrieben:Weis jemand für welchen Zweck diese ID da ist? Für was ist sie denn gedacht?
Steht doch hinter dem Link: "Programs may use this ID to identify the host with a globally unique ID in the network, which does not change even if the local network configuration changes. Due to this and its greater length, it is a more useful replacement for the gethostid(3) call that POSIX specifies."


Gesendet von iPhone mit Tapatalk Pro

Benutzeravatar
schorsch_76
Beiträge: 2535
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von schorsch_76 » 01.03.2017 16:12:05

Das ist klar. Ich meinte jetzt für welche Anwendung das zwingend nötig ist um zu funktionieren?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: /etc/machine-id --> wie am besten löschen/erneuern?

Beitrag von rendegast » 01.03.2017 21:03:50

journald
/var/log/journal/$machine-id/

/etc/machine-id -> /var/lib/dbus/machine-id
dbus


Das System ( systemd? ) reagiert "komisch", wenn ich machine-id random realisiere.

Mit journalctl die journal-Historie verfolgen wird auch aufwändig.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten