Ändern der Passwörter (Edge & UI - ohne Backend)

Hi Leute,

Ich spiele gerade etwas mit OpenEMS herum, was mir auf lange Sicht meine aktuelle Monitoring-Lösung ablösen und somit dann auch um die Steuerbarkeit einzelner Verbraucher erweitern soll.

Auf einem Raspberry Pi 4B läuft aktuell Edge und das UI und das bislang problemlos. Wo ich allerdings komplett anstehe ist die User-Verwaltung.
Standardmäßig kann man sich ja über das OpenEMS UI als “admin”, “installer” und “owner” authentifizieren, wobei das Passwort dem jeweligen Login entspricht.

Bislang ging ich davon aus, dass man das ändern könnte, indem man im Apache Felix über das Modul “Core User” neue Passwörter definiert. Wenn ich das jedoch mache, bekommt das UI keine Websocket-Verbindung mehr.

Wo bin ich da falsch abgebogen? Wie kann ich die Passwörter der einzelnen User für OpenEMS ändern? Nachdem es ein No-Go ist default-Passwörter zu belassen…
Ich könnte natürlich anfangen, die Defaults im Source-Code zu adaptieren. Aber ich möchte nicht mit jeder Passwortänderung neu Deployen müssen. :wink:

Es wäre cool, wenn da jemand einen Tip hat. :+1:
Ich möchte am Ende übrigens ein (aktualisiertes) Raspberry Pi How-To online stellen.

Danke,
Mat

Hi,
also das apache felix passwort kann beim starten übergeben werden:

echo -n “meingeheimespassword” | sha256sum -b | xxd -r -p | base64

PASSWORD={sha-256}pB3WuhEIb+0L2BaUTjNseIrWp6d3XaMEyeYSGMvWOBg=

java -Dfelix.webconsole.password=meingeheimespasswort -jar openems.jar

In der Core User müssen für jeden Nutzer ein Salt und das (mit dem Salt) gehashte Passwort hinterlegt werden. Diese sind in base64 zu kodieren. Dies kann einfach in der Shell gemacht werden (Im Beispiel Passwort ‘password’ und Salt ‘salt’):

python -c “import base64, hashlib; print(base64.b64encode(hashlib.pbkdf2_hmac(‘sha512’, b’password’, b’salt’, 10, 32)).decode())”

um das Salt dann base64 codiert zu bekommen.

echo -n ‘salt’ | base64

Schönen Gruß

Pauli

Hi Pauli,

herrje - wer lesen kann ist klar im Vorteil.
Steht ja eh in der Web Console, dass die Hashes einzutragen sind. Ich danke dir für den Hinweis - das hat prima geklappt und die Werte wurden klaglos übernommen.

Aber eine simplere Methode des User-Managements aus dem UI heraus gibt’s nicht, oder?

Gruß,
Mat

soweit ich weiß, aktuell nicht :slight_smile: aber falls du was findest, gerne teilen :wink: