Seite 1 von 1
OpsiServiceCall host_renameOpsiClient setzt Produkte zurück
Verfasst: 10 Feb 2025, 16:25
von Decision
Halo zusammen,
ich habe ein Produkt, welches Opsi-Clients umbenennt.
Auf dem Client wird der Clientname in
"C:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd\opsiclientd.conf" angepasst.
Danach führe ich einen Rename in der Domäne durch und mache vor dem Reboot einen Opsi-Servicecall,
um den PC im Opsi umzubenennen.
Code: Alles auswählen
[OpsiServiceCall_host_renameOpsiClient]
"method": "host_renameOpsiClient"
"params": [
"$OldPCName$",
"$NewPCName$"
]
Der Client wird sauber umbenannt, allerdings werden dabei alle Produkte zurückgesetzt, Local wie auch Netboot. Der Client hat also
unter dem neuen Namen laut Opsi keine Produkte mehr installiert.
Das Verhalten scheint neu zu sein, da es bis vor einiger Zeit problemlos funktioniert hat.
Hat jemand eine Idee, woran das liegen könnte?
Beste Grüße,
Michael
Re: OpsiServiceCall host_renameOpsiClient setzt Produkte zurück
Verfasst: 14 Feb 2025, 11:58
von Decision
Hallo zusammen,
kann jemand verifizieren, ob es in einer anderen Umgebung ebenfalls so ist und es nicht nur ein Problem meines Configservers ist?
Oder hat jemand eine Lösung bzw. eine Workaround für das Problem?
Beste Grüße,
Michael
Re: OpsiServiceCall host_renameOpsiClient setzt Produkte zurück
Verfasst: 14 Feb 2025, 13:05
von magicalUnicorn
Ich hab das mal bei uns getestet (wohlgemerkt über das RPC-Interface und nicht aus dem Skript heraus) und da wurden die Produkte nicht zurückgesetzt.
Re: OpsiServiceCall host_renameOpsiClient setzt Produkte zurück
Verfasst: 14 Feb 2025, 13:06
von n.doerrer
Moin,
die Installationsstände sollten mit umgezogen werden.
Welche Version hat der opsiconfd denn?
Bitte einmal prüfen, ob der Fehler wirklich backend-seitig ist, oder nur ein Anzeigefehler (Configed neu starten?).
Code: Alles auswählen
opsi-cli jsonrpc execute productOnClient_getObjects [] '{"clientId": "<neuer Name des Clients>"}'
(<neuer Name des Clients> entsprechend ersetzen)
Wenn dort etwas auftaucht, dann wurden die Daten erfolgreich umgezogen.
Re: OpsiServiceCall host_renameOpsiClient setzt Produkte zurück
Verfasst: 17 Feb 2025, 13:24
von Decision
Hallo zusammen,
danke erstmal für eure Rückmeldungen.
gibt nach dem Ausführen des Produkts nichts zurück, es scheint also kein Anzeigefehler zu sein.
Wenn ich
ausführe, dann bleibt der Installationsstatus der Produkte bei mir auch erhalten.
Was macht der Servicecall anders, als das RPC-Interface (danke fürs Testen, magicalUnicorn) oder die Opsi-CLI?
Vielleicht irgendwas in Richtung Berechtigungen in der ACL?
Beste Grüße,
Michael
Re: OpsiServiceCall host_renameOpsiClient setzt Produkte zurück
Verfasst: 19 Feb 2025, 08:16
von n.doerrer
Moin,
ja, acl sollte es sein. Grundsätzlich gehen sowohl die opsiservicecalls von opsi-script als auch opsi-cli über das RPC-Interface.
Aber bei opsi-script ist der "user" ein Host und darf daher acl-seitig nur Objekte verändern, die ihm selbst ("self") gehören. Beim Umbenennen von host A zu host B ist man abhängig vom genauen Prozedere ja entweder host A und darf host B nicht bearbeiten oder andersherum.
Zum Umbenennen von Hosts kann man auch folgendermaßen vorgehen:
In der /etc/opsi/opsiconfd.conf auf dem server diese Konfiguration setzen
Anschließend clients opsi-seitig umbenennen. Wenn sich die betroffenen clients das nächste mal verbinden, dürfen sie das (mit korrektem host-key, auch wenn die host-id eigentlich nicht mehr valide ist) und passen dann automatisch bei sich lokal die host-id an.
Wir raten aus Sicherheitsgründen davon ab, langfristig "allow-host-key-only-auth" zuzulassen, weil dabei ein potentieller Angreifer nur noch einen Wert korrekt raten muss anstelle von zweien um als host Zugriff auf das RPC-Interface zu bekommen.