Ankündigung

Einklappen
Keine Ankündigung bisher.

shNG 1.3

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    shNG 1.3

    Hallo,
    zuerst einmal ganz, ganz vielen herzlichen Dank an das Entwicklerteam für die tolle Arbeit in den letzten Monaten!

    SmartHomeNG kann nicht mehr unter dem User root ausgeführt werden.
    Bitte darauf achten, dass die Rechte so gesetzt sind, dass SmartHomeNG als normaler Nutzer ausgeführt werden kann. Dieses ist z.B. gewährleistet, wenn die Installation nach der Komplettanleitung im Wiki erfolgt.
    Ernsthaft? Ich werde dann leider bei der 1.2 bleiben (müssen).
    Gibt es hier oder auf Gitbub einen Thread, der beschreibt, warum das so ist?

    /tom

    #2
    Von mir auch einen herzlichen Dank!

    Mal die Gegenfrage: Warum muss Sh.py bei dir als Root laufen?

    Gruß,
    Hendrik

    Kommentar


      #3
      Zitat von henfri Beitrag anzeigen
      Mal die Gegenfrage: Warum muss Sh.py bei dir als Root laufen?
      Nur die Punkte, die mir spontan einfallen:
      1. Zur Problemvermeidung, insbesondere beim Zugriff auf Schnittstellen oder Dateien, die außerhalb des shNG-Universums liegen. Einfach mal hier im Forum nach 'root' suchen und die Ergebnisse kurz überfliegen, z.B. hier oder auch hier. Gefühlt habe ich hier im Forum mindestens ein Dutzend Mal anderen Usern helfen können, ein Problem zu lösen oder einzukreisen, wenn shNG mal als root ausgeführt wurde. Ich arbeite daher hier generell als 'root'.
      2. Aus Komfortgründen, z.B. weil ich beim Entwickeln oder Modifizieren der Items-Datei häufig shNG neu starte, um alles neu zu laden und Dinge auszuprobieren. Jedesmal den User wechseln müssen, wäre lästig (ja, man könnte es über ein Shell-Script lösen).
      3. Der Hauptgrund: Weil mein über Jahre gewachsenes und gut funktionierendes System auf 'root' ausgelegt ist und ich momentan nicht gewillt bin und auch nicht die Zeit habe, alles neu aufzusetzen (da läuft noch ein bisschen mehr als nur shNG drauf). Ich hätte derzeit nicht mal einen Überblick, welche Stellen im System ich überall anfassen muss, um alles wieder so wie jetzt zum Laufen zu bringen (z.B. solche Kleinigkeiten wie Samba-Freigaben, eingebundene Schnittstellen unter /dev, Eigentümer/Gruppenrechte an vielen System-/shNG-Dateien, zwischenzeitlich manuell eingespielte Patches usw usw).
      Wie gesagt, kein Problem, bleib ich halt bei 1.2. Mich würden nur die technischen Hintergründe dazu interessieren, daher die Frage.

      Und: Ja, ich bin mir der Risiken des root-Zugriffs bewusst und habe für mich als 'mündiger User' mit fast 30 Jahren UNIX-Erfahrung entschieden, dass sie für mich tragbar sind. Word und Excel verweigern mir unter Windows ja auch nicht den Dienst, nur weil ich als 'Administrator' angemeldet bin ...

      Just my 2 cents,
      /tom
      Zuletzt geändert von Tom Bombadil; 05.08.2017, 14:18.

      Kommentar


        #4
        Ich habe auch schon gemeckert. In meinem Docker Container ist es auch als Root am laufen. Und das stört mich da auch nicht...
        Die Warning kann gerne rausgeschrieben werden, aber keine Prozess-Terminierung.. Denke wir patchen das nach.

        Ist übrigens nur eine Zeile die Du auskommentieren müsstest
        In der smarthome.py Zeile 41 das exit().. So läufts wieder wunderbar als Root bei mir.

        Security sollte jeder selber kennen. Und in meinem Blick sollte ein SH.py von außen sowieso nicht "direkt" erreichbar sein.
        Zuletzt geändert von psilo; 05.08.2017, 14:34.

        Kommentar


          #5
          Ist schon gepatcht. Einfach aus Github neu pullen. Es wird noch eine Warnung ausgegeben, aber der Start wird nicht verhindert.

          Trotzdem: Man sollte aus Security Gründen KEINE Anwendungssoftware als root laufen lassen. Man sollte sich als root nicht mal am System anmelden dürfen.
          Viele Grüße
          Martin

          There is no cloud. It's only someone else's computer.

          Kommentar


            #6
            Tom, Du bist vermutlich die Ausnahme und weißt Bescheid, was Du Deinem System mit root antust und was nicht.
            root zu nutzen kann für den unbedarften User ein erhebliches Sicherheitsrisiko darstellen.
            Dazu kommen noch die Supportfälle wo jemand mit root Rechten Dateien geschrieben hat, die dann als normaler user nicht mehr schreiben oder lesen darf.

            Nichts desto trotz ist es derzeit relativ einfach das exit() aus der Datei bin/smarthome.py auszukommentieren:

            Code:
            if not os.name == 'nt':
                # only check if we are not at windows systems
                if os.getegid() == 0:
                    print("SmartHomeNG should not run as root")
                    #exit()
            Dann gibt es nur noch eine Warnung.

            Kommentar


              #7
              Zitat von bmx Beitrag anzeigen
              Nichts desto trotz ist es derzeit relativ einfach das exit() aus der Datei bin/smarthome.py auszukommentieren:
              Dann gibt es nur noch eine Warnung.
              Das ist auf github bereits passiert. Einfach einen neuen PULL machen.
              Viele Grüße
              Martin

              There is no cloud. It's only someone else's computer.

              Kommentar


                #8
                Hallo Martin,
                das war ja mal fix - wollte eigentlich auch nicht den "Sturm im Wasserglas" lostreten. Danke!!!
                /tom

                Kommentar


                  #9
                  Moin,

                  die Intention war doch gut.
                  Wie wäre es, wenn man sh.py nur dann als Root starten kann, wenn man einen Kommandozeilenparameter -I-really-know-what-I-am-doing startet?
                  Für den Normalfall fände ich es nämlich durchaus gut, wenn es nicht funktioniert.

                  Gruß,
                  Hendrik

                  Kommentar

                  Lädt...
                  X