fhem auf der FritzBox unter root laufen lassen.

Begonnen von Markus Bloch, 03 Februar 2013, 00:51:20

Vorheriges Thema - Nächstes Thema

Markus Bloch

Hallo zusammen,

ich bin gerade auf das Problem, dass FHEM auf meiner FritzBox unter dem Usernamen boxusr99 läuft. Mit diesen Userrechten kann FHEM aber keinerlei Befehle an den ctlmgr_ctl absetzen.

Ich hab schon durch Manipulation von startfhem auf das absolut notwendige versucht dies zu ändern, allerdings startet sich FHEM dennoch immer unter dem User boxusr99.

Wie kann man das ändern?

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

rudolfkoenig

Entweder war die Manipulation der Startfhem Datei nicht korrekt, oder es erfolgte kein Fritzbox-Neustart nach der Manipulation.

Markus Bloch

-,- Es erfolgte kein FritzBox Neustart. Hab aber herausgefunden, wenn man den User boxusr99 & fhem aus der /etc/passwd löscht, funktionierts auch ohne Neustart.

Werd das mal ins Wiki stellen.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Hallo Rudi,

möchtest du das eigentlich aus einem künftigen Release wieder raus nehmen?


Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

rudolfkoenig

Nein, mir ist es lieber wenn das System im Auslieferungszustand sicherer ist, auch wenn es nicht so viel kann.

Ich haette lieber dass wir fhem wieder mit Passwortschutz ausliefern, das funktioniert aber bei bestimmten Konfigurationen auf der FB nicht.

Markus Bloch

Alles klar, dann weis ich Bescheid. Geht darum dass die PRESENCE Erkennung auf der FritzBox via ctlmgr_ctl nur funktioniert, wenn FHEM unter root läuft. Muss ich halt nur wissen, dann weis ich Bescheid, wenn die ersten Meldungen im Forum hochkommen, warum das Modul eine Fehlermeldung schmeißt.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Hi Rudi,

es währe schön, falls du dir das mit FHEM unter non-root-user überlegen könntest, da FHEM auf einer FritzBox ohne root-access nicht einmal einen Ping absetzen kann. Und ich persönlich bin der Meinung, ein Ping absetzen sollte man dem User schon gönnen.

Ich hoffe du überlegst dir das nochmal.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

rudolfkoenig

Das mit dem ping ist mir bewusst, und war einer der Argumente auf root umzustellen.
Die anderen sind mir im Moment aber wichtiger.

SharcWare

Hallo ich versuche gerade erfolglos das startfhem zu manipulieren um für den Codeschnipsel "FritzBox_Parameter_in_fhem_anzeigen" FHEM im root Modus zu starten. Leider ist der Erfolg bisher trotz Neustart der Box ausgeblieben. Als ich die Kommentare gesetzt habe ist FHEM nicht mehr gestartet (mit neustart der Box). Mein startfhem sieht auch nicht genau so aus wie im Beispiel beschrieben. Erst als ich komplett den URsprungszustand wieder hergestellt habe wurde FHEM gestartet. Meine Änderung sah so aus:

# add user fhem with uid of boxusr80/boxusr99 (== ftpuser)
# Comment/delete everything between START and END to run FHEM as root

## START:fhem-user
#id fhem > /dev/null 2>&1
#if test "$?" -ne "0"; then
#  grep -q 1099 /etc/passwd;
#  if test $? -eq "0"; then
#    echo "fhem:any:1099:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#  else
#    echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
#  fi
#  chown -R fhem FHEM docs log www
#  chown fhem . *
#  chown root dfu-programmer    
#  chmod u+s dfu-programmer
#fi
## END:fhem-user

Da ich noch relativ neu in der Materie bin und noch nicht wirklich weiss was da passiert, könnte mir bitte jemand auf die Sprünge helfen?

Vielen Dank Jens

rudolfkoenig

Leider ist "FHEM nicht mehr gestartet" zu wenig um das Problem zu loesen.

Koenntest Du nach einem erfolgreichen start fhem stoppen, die Zeilen wie angegeben auskommentieren, und ./startfhem im telnet Fenster aufrufen? FHEM wird zwar weiterhin nicht unter root laufen, aber man kriegt die Fehlermeldungen (falls welche vorhanden sind) mit. Wenn das starten so klappt, dann kann man das Fritzbox neu starten.

UliM

Zitat von: SharcWare schrieb am So, 10 Februar 2013 17:41Als ich die Kommentare gesetzt habe ist FHEM nicht mehr gestartet (mit neustart der Box).

Hi,
hast Du die Änderungen mit voi gemacht?  Wenn Du einen Windows-Editor nutzt, werden (aus Linux-Sicht verkorkste) Zeilenumbruchzeichen je Zeile angehängt.
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

UliM

...@Rudi (...@Rudi): was hältst Du davon, in die Distribution ein script zB startfhemroot.bak aufzunehmen. Dann würde fhem standardmäßig weiterhin unter non-root ausgeführt - die user, die fhem aber als root ausführen möchten, kämen mit einem einmaligen cp startfhemroot.bak startfhem zum Ziel und vi bliebe ihnen erspart...
Nur so ne Idee.
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

Hab eine Datei startfhemAsRoot zum FB7390-er Paket hinzugefuegt, kommt aber erst mit dem naechsten Release, und ich weiss noch nicht, wann das wiederum kommt.

Vielleicht baue ich das aber wieder aus: Wenn jemand fhem in root-mode verwenden will, der sollte in der Lage sein in einer Datei einen Abschnitt auskommentieren oder entfernen zu koennen.

SharcWare

Vielen Dank für die schnellen Tips. Letztendlich saß der Fehler vor dem Bildschirm. Ich musste nur den Neustart vollständig durch ziehen des Netzsteckers machen, nicht nur über die FritzBox Oberfläche. Aber ich weiss jetzt wie man mit Telnet an der FB umgeht und das dort keine Fehler beim Neustart auftraten. Vielen Dank.
Jetzt kann ich bei mir alle Parameter der FB im FHEM ansehen.

@UliM: Den Fehler mit den Zeilenenden hatte ich auch schon in Verdacht, deshalb arbeite ich mit "SciTE" einem freien Text-Editor, der nicht nur in der Lage ist den Code entsprechend der Endungen der Programmierumgebungen zu färben, sondern auch die Endungen im Text entsprechend darstellen und im Notfall auch umformatieren kann. Danke für den Hinweis.

Gruß, Jens