Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      G.Hawk @Thomas Braun last edited by

      @thomas-braun Unbenannt.PNG

      Thomas Braun V 2 Replies Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @G.Hawk last edited by

        @martin-0

        Bitte keine Screenshots und den Raspberry NICHT MIT DESKTOP BETREIBEN!

        G 1 Reply Last reply Reply Quote 0
        • G
          G.Hawk @Thomas Braun last edited by

          @thomas-braun

          OK wie mache ich das denn richtig?

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @G.Hawk last edited by

            @martin-0

            Per ssh in einem Terminal auf den Pi gehen. puTTY oder die Windows Powershell nimmt man dafür z. B.
            Den Pi betreibt man im sog. RunLevel 3.

            1 Reply Last reply Reply Quote 0
            • V
              viper4iob @G.Hawk last edited by

              @martin-0 said in [Linux Shell-Skript] WLAN-Wetterstation:

              @thomas-braun Unbenannt.PNG

              Das sieht mir nach einem Formatierungsproblem aus. Da sind mir zu viele Leerzeilen drin.
              Direkt nach den Überschriften sollten die Argumente kommen, da ist aber überall eine Leerzeile, evtl. hat der systemd ein Problem damit.

              Thomas Braun G 2 Replies Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @viper4iob last edited by

                @viper4iob

                Oder die Datei ist mit einem Windows-Editor vermurkst worden und hat keine Linux-Zeilenumbrüche.

                G 1 Reply Last reply Reply Quote 0
                • G
                  G.Hawk @viper4iob last edited by

                  @viper4iob
                  Ich habe jetzt alle Leerzeichen gelöscht.
                  Keine Veränderung

                  1 Reply Last reply Reply Quote 0
                  • G
                    G.Hawk @Thomas Braun last edited by G.Hawk

                    @thomas-braun
                    Den habe ich garnicht benutzt.

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      G.Hawk @G.Hawk last edited by

                      Deutet der Fehler nicht eher daraufhin, dass die Datei garnicht gefunden wird bzw nicht ausführbar ist?

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @G.Hawk last edited by

                        @martin-0

                        Dann schau nach:

                        ls -la /home/iobroker/wetterstation.sh
                        
                        G 1 Reply Last reply Reply Quote 0
                        • G
                          G.Hawk @Thomas Braun last edited by Negalein

                          pi@raspberrypi:~ $ ls -la /home/iobroker/wetterstation.sh
                          -rwxr-xr-x 1 root root 15472 Nov  3 09:40 /home/iobroker/wetterstation.sh
                          

                          Mod-Edit: Code in </> Code-Tag gepackt!

                          G Thomas Braun 2 Replies Last reply Reply Quote 0
                          • G
                            G.Hawk @G.Hawk last edited by

                            @martin-0
                            Es lag an der Formatierung.

                            Ich habe Leerzeilen eingefügt zwischen den Befehlen. Jetzt geht es.

                            V 1 Reply Last reply Reply Quote 0
                            • V
                              viper4iob @G.Hawk last edited by viper4iob

                              @martin-0
                              Das klingt dann danach, dass die Zeilenumbrüche nicht gepasst haben.
                              Linux nutzt LF und Windows CRLF und wenn man das irgendwie von Windows rüber holt, hat man evtl. die falschen.
                              Da gibt es dann z.B. das Kommando dos2unix, um das umzuwandeln.
                              Und wenn man die Zeilenumbrüche he dem Editor unter Linux wieder einfügt, nimmt er natürlich LF
                              Du hast also vorhin beim Löschen der Leerzeilen wahrscheinlich die falschen gelöscht und dann durchs einfügen, die richtigen hinzugefügt.

                              1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @G.Hawk last edited by

                                @martin-0

                                Die Datei in /home/iobroker sollte aber NIE dem root gehören.

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  G.Hawk @Thomas Braun last edited by

                                  @thomas-braun
                                  Ich habe alles mögliche umgestellt.
                                  Warum denn nicht?

                                  Thomas Braun V 3 Replies Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @G.Hawk last edited by

                                    @martin-0
                                    Weil das das /home des iobrokers ist. Und nicht vom root. Der wohnt unter /root.

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      viper4iob @G.Hawk last edited by viper4iob

                                      @martin-0
                                      Kannst du mal das machen :
                                      cat -e /etc/systemd/system/wetterstation.service

                                      Der sollte den Inhalt der Datei mit Zeilenumbrüchen darstellen. Ich hoffe auch CRLF, falls vorhanden.
                                      Was kommt da raus?
                                      Es geht zwar jetzt, aber diese Leerzeilen gehören da eigentlich nicht hin. Evtl. hast du jetzt beide Typen drin.

                                      EDIT
                                      Er müsste $ für LF anzeigen, was richtig wäre.
                                      Und ^M$ für CRLF. Die sollten da nicht auftauchen.

                                      V 1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @G.Hawk last edited by

                                        @martin-0

                                        sudo chown iobroker:iobroker /home/iobroker/wetterstation.sh
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          viper4iob @viper4iob last edited by viper4iob

                                          Zum Thema Dateirechten und Besitzerschaft vom Skript:
                                          Im Prinzip gebe ich @Martin-0 recht. Wenn man das Skript im Home vom iobroker betreibt, sollte es auch iobroker gehören.
                                          Aus Sicherheitssicht spielt es aber keine große Rolle, denn sobald das Skript als systemd Service gestartet wird, läuft es unter root. Kann man beispielsweise mit ps -ef | grep wetterstation kontrollieren.
                                          Und das Risiko ist denke ich deutlich höher, falls eben jemand das Github Repository manipuliert und man sich diese Änderungen dann installiert.

                                          Wichtig wäre also meiner Meinung nach den Service unter einem anderen User als root ausführen zu lassen. Das Skript braucht soweit ich das aktuell feststellen konnte, für das normale Ausführen keine root-Rechte, es führt netcat aus und solange der Port über 1024 ist, braucht das keine root Rechte. Und dann kommuniziert es mit iobroker und die InfluxDB über deren Schnittstellen, was ebenfalls keine root Rechte benötigt.
                                          Um den Service als anderer User zu starten muss man im Service File im Abschnitt [Service] die Argumente User und Group hinzufügen und da dann beispielsweise den iobroker angeben.
                                          Ich hab es aktuell unter meinem eigenen User laufen.
                                          Streng genommen sind beide User nicht optimal und man müsste einen komplett neuen User nur für das Skript anlegen, der sich auch nicht interaktiv anmelden kann und darüber dann den Dienst laufen lassen, aber das war mir dann auch zu viel des Guten.
                                          Unter meinem User funktioniert es auf alle Fälle.
                                          Über den iobroker User habe ich es noch nicht getestet. Der iobroker user wäre vielleicht aktuell sogar die bessere Wahl, weil der sich wahrscheinlich nicht interaktiv anmelden kann, also nur ein System User ist. Nur weiß man nie, ob sich da mit irgendeinem Update mal wieder was ändern könnte. Bis vor einiger Zeit lief der iobroker auch nicht unter eigenem User, das wurde dann irgendwann mal angepasst.

                                          @SBorg
                                          Das wäre evtl. nochmal ein Punkt, worüber man für den Install Guide und der Service File Definition nachdenken könnte. Vielleicht auch einfach nur als Hinweis und man kann dann selbst entscheiden.

                                          SBorg 1 Reply Last reply Reply Quote 1
                                          • SBorg
                                            SBorg Forum Testing Most Active @viper4iob last edited by

                                            @viper4iob Solange bspw. die "sh" root:root gehört und der User also das Ganze als root durchführt (weil es ja einfacher ist und man nicht dauernd ein Passwort eingeben muss, oder dauernd ein sudo nutzen muss... 🤦‍♂️ ) sehe ich es noch als "geringeres Übel" an. 99% der User werden auch einfach die "sh"s ausführen ohne vorher mal rein zu sehen. Wozu auch, verstehen eh nur die wenigsten und bei Windows sehe ich in der setup.exe eh nicht was am/im System passiert. Ihnen ist aber nicht bewusst, dass, wenn sie es als "root" ausführen, ich die volle Kontrolle über ihr Systems erlange. Wenn ich dies denn wollte, und nein liebe Mitleser, da brauche ich nicht mal was zu hacken.
                                            Diese Gefahr besteht natürlich auch wenn man meinen GitHub-Account hackt. Deswegen announce ich auch neue Betas und Releases immer hier. So müsste er auch meinen Foren-Account hacken. Allerdings wird da nicht jeder darauf achten, und diejenigen die per Suche auf das GitHub-Repository stoßen sowieso nicht.

                                            Trotzdem könnte man es natürlich auch einfach als User-Service laufen lassen, gäbe es nicht wieder eine Ausnahme mit Protokoll #9. Dies läuft explizit (da es ein offizieller Web-Server sein muss) nur auf Port 80, sonst würde ich einfach keine Ports <=1024 mehr zulassen und könnte mich damit nur Userrechten zuwenden.

                                            Die Idee mit einem extra unprivilegierten User hat aber was (iobroker mag ich aus den von dir schon genannten Gründen nicht). Dann müsste nur der Protokoll #9-Nutzer den Service halt mit root-Rechten laufen lassen.


                                            Nutzt denn wer einen Port <=1024? Wenn ja, warum (außer Protokoll #9-Nutzer 😉 ) ? Es gibt ~64.5k andere Ports 🙂

                                            V L 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            988
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2911232
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo