Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript Exec Befehle auf Client (NAS) ausführen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    JavaScript Exec Befehle auf Client (NAS) ausführen

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pandia last edited by

      @OliverIO

      Auf dem iobroker-Rechner stehen für die User pi und iobroker ssh-keys zur Verfügung.

      Folgendes ssh-Kommando soll auf dem Client ausgeführt werden: ssh pegasus -l admin sudo /etc/init.d/CloudLink.sh start

      Habe unter /etc/suders.d/ die Datei iobroker_cumstom mit folgendem Inhalt angelegt:

      iobroker ALL = (pi) NOPASSWD: ssh pegasus -l admin sudo /etc/init.d/CloudLink.sh start

      Anschließend auf der Konsole versucht bash mit use iobroker zu starten:

      pi@ioBroker0:~ $ sudo -u iobroker /bin/bash

      /etc/sudoers.d/iobroker_custom: Syntax-Fehler near line 1 <<<
      sudo: Syntax-Fehler in /etc/sudoers.d/iobroker_custom bei der Zeile 1
      sudo: Keine gültige sudoers-Quelle gefunden, Programmende
      sudo: Regelwerks-Plugin konnte nicht initialisiert werden
      pi@ioBroker0:~ $

      Hast du noch eine Idee?

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @Pandia last edited by

        @Pandia

        und was ist das Ergebnis deines Versuchs?

        1. kommst du auf die shell als user iobroker? Dann müsste im prompt iobroker@ioBroker1 stehen
        2. wenn du auf der shell mit dem user iobroker angekommen bist, was ist das Ergebnis/Fehlermeldung deines ssh befehls?
          Also ssh pegasus -l admin sudo /etc/init.d/CloudLink.sh start
        P 2 Replies Last reply Reply Quote 0
        • P
          Pandia @OliverIO last edited by

          @OliverIO

          Ich komme nicht auf die shell als iobroker. Syntax-Fehler:

          /etc/sudoers.d/iobroker_custom: Syntax-Fehler near line 1 <<<
          sudo: Syntax-Fehler in /etc/sudoers.d/iobroker_custom bei der Zeile 1
          sudo: Keine gültige sudoers-Quelle gefunden, Programmende
          sudo: Regelwerks-Plugin konnte nicht initialisiert werden
          pi@ioBroker0:~ $

          OliverIO 1 Reply Last reply Reply Quote 0
          • P
            Pandia @OliverIO last edited by

            @OliverIO

            Habe den fehlerhaften Eintrag in der /etc/sudoers.d/iobroker_custom gelöscht. Shell wurde initialisiert. Die ssh-Kommandos werden korrekt auf dem Client ausgeführt.

            166fad05-0a99-47e2-94eb-708592953146-image.png

            Die Ausführung durch das Java-Skript geht nicht durch.

            4a88b4f8-ca8e-4e3d-ac69-8772974b219d-image.png

            Hier der Auszug aus dem iobroker-Log:

            573a27e1-6cd2-4a3d-8cf4-26af46c924c1-image.png

            AlCalzone OliverIO 3 Replies Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer @Pandia last edited by

              @Pandia Hast du nach dem Löschen den Skript-Adapter oder gar den Host mal neu gestartet?

              P 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Pandia last edited by OliverIO

                @Pandia

                bose böse, diese datei mit einem normalen editor zu bearbeiten
                https://wiki.ubuntuusers.de/sudo/Konfiguration/
                lese insbesondere den roten kasten
                da steht dann auch genau drin wie die datei sudoers aufgebaut ist.
                ich habe das oben auch nur adaptiert, evtl. ist mir auch ein fehler passiert, wegen was der syntax fehler kommt

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @Pandia last edited by

                  @Pandia
                  dann musst du um diese uhrzeit mal in der syslog nachschauen, ob da Fehler auftauchen
                  oder es scheint noch einen unterschied zu geben, wie iobroker shell komandos ausführt.

                  P 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Pandia last edited by OliverIO

                    @Pandia
                    noch eine frage, da du ja sudo auf dem anderen rechner ausführst.
                    da wird kein passwort benötigt?
                    Ich weiß im LAN ist das mit der Sicherheit nicht ganz so dramatisch.
                    ideal wäre, wenn auf dem anderer Rechner ein eigener (technischer) user existiert,
                    der genau die Kommandos ausführen darf die du möchtest und das ohne passwort.
                    also auf dem anderen Rechner ebenfalls die sudoers pflegen
                    mit ssh meldest du dich dann direkt als dieser user an.

                    in deinem beispiel meldest du dich als user admin auf dem anderen rechner an und machst sudo um höhere rechte zu bekommen. ist das notwendig?

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      Pandia @AlCalzone last edited by

                      @AlCalzone

                      Habe nach dem Löschen den Skript-Adapter und Host neu gestartet. Befehle gehen nicht durch.

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pandia @OliverIO last edited by

                        @OliverIO
                        Das Syslog des Host enthält zum Zeitpunkt der Ausführung keine Fehlermeldung. Was mich wundert. Es wird überhaupt nichts aufgezeichnet. Der Prozess muss schon vorher abbrechen.

                        1 Reply Last reply Reply Quote 0
                        • P
                          Pandia @OliverIO last edited by

                          @OliverIO
                          Das sudo auf dem Host ist nicht zwingend notwendig, da der User admin über die entsprechenden Rechte verfügt. Der Prozess lässt sich im Nachgang noch sicherer gestalten. Der Aufruf vom Host muss erst mal richtig ankommen.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          513
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          blockly javascript
                          5
                          16
                          1595
                          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