NEWS
js-controller 2 jetzt für alle im Stable
-
Nachdem ich das Backup zurückgespielt habe, habe ich es gestern noch einmal versucht.
Zuerst nodejs auf 10.17.0 gebracht mit allen drum und dran was auf der verlinkten Seite angeboten wird.
Weil es bei mir, so wie immer, nicht so einfach ist upzudaten.Dann musste ich natürlich etwas warten bis alles wieder nachinstalliert war.
Anschließend js-controller auf Version 2.17.0 gebracht.Nach einem Neustart war dann auch die Login-Seite erreichbar.
Nur der Loginversuch schlug, ohne eine Fehlermeldung, fehl.Dann über die Konsole Admin.0 gelöscht und neu angelegt.
Jetzt war auch ein Login möglich. Natürlich ohne https.
Alle Adapter laufen jetzt ohne Probleme. Auch der sql-Adapter.
Das Einzige was nicht möglich ist, dass ich wieder im Admin.0 auf https und Authentifikation umschalte.
Also umschalten kann ich schon, nur ist dann kein Login möglich.
Er bringt auch keine Fehlermeldung. Es bleibt einfach die Login-Seite stehen.
Wenn ich einen anderen Benutzernamen oder Passwort eingebe, sagt er, dass Benutzer oder Passwort falsch ist.Was kann ich tun?
-
@Diginix irgendwas im log wo der Fehler zurückgekommen ist??
-
Der simple-api läuft bei mir problemlos, auch während der gesamten Beta-Testphase des JS 2.0
"exec" tut auch was es soll, sudo braucht ein Passwort, sonst wäre ja auch die Nutzerverwaltung sinnlos wenn einfach jeder "popelige User" ( wie bspw. iobroker ) so einfach root-Rechte bekäme. Außer man trägt halt die entsprechenden Befehle die root-Privilegien benötigen ein, damit sie kein Passwort benötigen... -
@Superdad alle Adapter sind aktuell? Admin, Web und so ...? Zeig bitte mal die Admin Einstellungen als Screenshots.
Versuche das mal nachzustellen heute Abend.
-
@SBorg hast du auch simple-api Mit eigenem User für den Zugriff und so wie dignity?
-
Alles auf default und aktuell.
-
@Superdad ich meinte Screenshot von der Instanz wenn auth und so aktiv ist
-
Bitte sehr!
-
Super Arbeit! Das Upgrade hat auf meinen Test- und Produktivsystemen problemlos funktioniert und alle Adapter und Skripte laufen wie gewohnt (inkl. simple-api).
-
@apollon77 Issue ist wieder auf.
Den Fixer hatte ich schon öfter mal genutzt und meine Installation lief schon lange komplett unter user iobroker.
Aber ich habe eben gesehen dass die /etc/sudoers.d/iobroker vom Fixer am 15.11. nach dem Update auf JS-Controller 2.x geändert wurde.
Ich hatte dort manuell mal "iobroker ALL=(ALL) NOPASSWD: ALL" eingetragen damit ich in Skripten alles was ich will mit
sudo per exec nutzen kann.
Dank deines Hinweises ist das geklärt und nun wieder behoben.Gäbe es eine persistente Lösung die nicht durch den Fixer wieder zerstört wird um alles mit sudo nutzen zu können?
@crycode Nutzt du simple-api mit Authentifizierung per URL Parameter mit nicht-admin Nutzer?
-
@Diginix sagte in js-controller 2 jetzt für alle im Stable:
Nutzt du simple-api mit Authentifizierung per URL Parameter mit nicht-admin Nutzer?
Jup, genau so. Habe einen extra "normalen" Nutzer für die simple-api und übergebe den Login per
?user=${USER}&pass=${PASS}
. -
@crycode
Kannst du mir dazu bitte mal die Einstellungen des Users, seiner Gruppe und dem Objekt welches du damit steuerst zum Vergleich mit meinen zB im Chat zukommen lassen? -
@Diginix macht doch mal einen neuen thread auf. Würde mich im Vergleich auch interessieren. Besser als Chat damit.
-
@Diginix macht doch zu dem Feature request sudoers Änderungen zu persistieren ein issue im ioBroker/ioBroker Repo auf. Dann sehen wir mal was @AlCalzone einfällt
-
@werner_q sagte in js-controller 2 jetzt für alle im Stable:
Wenn ich mit dem 2.1 Windows Installer migrieren will, sagt er, er kann keine admin.0 oder .1 Instanz finden.
Habe das als Punkt 14 in die FAQ oben mit aufgenommen. https://forum.iobroker.net/post/325815
Danke für die Info.Für Dich: Da hilft nur eines: Eine admin.0-Instanz installieren.
Dazu bitte im bestehenden (=alten) ioBroker ein Kommandozeilenfenster öffnen. Z.B.:
c: cd c:\iobroker iobroker list instances
Da sollte dann u.a. die admin-Instanz(en) und ihre Ports angezeigt werden. Der Weg ist, zuerst alle admin-Instanzen zu löschen. Dann fängt iobroker wieder mit .0 zu zählen an, wenn man neue hinzufügt.
Falls Du irgendwelche besonderen Konfigs wie "Authentifizierung" oder "Zertifikate" aktiv hast, musst Du das danach im neuen Admin wieder selbst einschalten. Kuck also, bevor Du fortfährts noch einmal in die Einstellungen des admin.4.
Der ioBroker Server muss nicht gestoppt werden. Nachdem vorübergehend kein Admin installiert ist, machen wir alles in der Kommandozeile. Los geht es:
iobroker del admin 4 iobroker list instances
Jetzt sollte keine admin-Instanz mehr da sein. Beim folgenden Befehl kannst Du die Portadresse so lassen oder anpassen:
iobroker add admin 0 --port 8081 iobroker list instances
Admin-Instanz da? Im Webbrowser aufrufen. Allews ok!
Wenn ja, dann jetzt das Update mit dem Windows Installer durchführen.
Viele Grüße
Thomas -
@apollon77 sagte in js-controller 2 jetzt für alle im Stable:
@SBorg hast du auch simple-api Mit eigenem User für den Zugriff und so wie dignity?
Habe es jetzt noch mal ganz gelesen. Im Prinzip ja, aber doch nicht zu 100% gleich. Ich bewege mich außerhalb von javascript.x mit den DPs und ich brauche kein User/PW mitgeben, da ich, bzw. der Client schon per SSH authentifiziert ist. Also nicht ganz vergleichbar, aber bei @crycode scheint es ja genau so zu funktionieren.btw: ich nutze für den Aufruf des Fixers ein Bash-Script, da kann man schön nach Ausführung bspw. die sudoers automatisch mit patchen und vergisst auch keine sonstigen Änderungen. Man, oder ich, wird halt auch älter...
-
@Diginix sagte in js-controller 2 jetzt für alle im Stable:
iobroker ALL=(ALL) NOPASSWD: ALL
Und damit ist alles an Sicherheitsgewinn ausgehebelt, was die User-Trennung bringt. Welche Kommandos brauchst du denn? Die könnte man ja in die Whitelist hinzufügen
Im Grunde geht die Anfrage in diese Richtung: https://github.com/ioBroker/ioBroker.js-controller/issues/348
Mir schwebt vor, dass der Js-Controller irgendwann diese Permissions verwaltet und man das bestenfalls im Admin unkompliziert whitelisten kann. -
@AlCalzone vorher vllt in user iobroker ein „defaultsudoerstuff.txt“ rein der immer angegangen wird oder so? Prüfen das es User iobroker gehört und ein Kommando sagen wie man das so anlegen kann ?!
-
@Stabilostick Vielen Dank für die ausführliche Erklärung, seltsamerweise (ist bei mir aber schon immer so???) ist die neu erstellte admin.0 Instanz an die IP 0.0.0.0 gebunden und ich muss dann noch zusätzlich
iobroker set admin.0 --bind 192.168.0.20
machen wobei 192.168.0.20 die Adresse von meinem Server ist. Falls andere auch das Problem haben.
Danke nochmals und jetzt geht's ans Update -
0.0.0.0 ist auch ok.
Damit ist gemeint, dass falls Du mehrere Netzwerk-Interfaces im Rechner hast (z.B. WLAN und Ethernet - bekommen ja jeweils eine eigene IP-Adresse), der Admin auf allen Adressen gebunden wird und damit über alle Interfaces erreichbar ist.