Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. iobroker Rechter zum schreiben / ausführen auf dem Raspberry

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    iobroker Rechter zum schreiben / ausführen auf dem Raspberry

    This topic has been deleted. Only users with topic management privileges can see it.
    • wierer-sigi
      wierer-sigi last edited by

      Hallo,

      da mir die SD Karte voll gelaufen ist habe dich den Raspberry 4 ( 4 GB ) auf eine 64 GB SD-Karte neu aufgesetzt. Habe dazu den Raspberry Pi Imager verwendet.

      Danach Homebridge und Iobroker aufgespielt und die Backups wieder eingespielt. Soweit gut.

      Nun habe ich unter folgendem Pfad: /home/Sigi71/iobroker ein paar Textfiles liegen in denen ich täglich Datenpunkte weggeschrieben habe.

      Bildschirmfoto 2024-11-12 um 13.27.58.png

      Bekomme aber die Fehlermeldung zurück: EACCES: prmission denied, open ....

      javascript.0	13:27:33.832	info	Start JavaScript script.js.Test-Center.test_csv_schreiben (Blockly)
      javascript.0	13:27:33.859	error	script.js.Test-Center.test_csv_schreiben: Error: EACCES: permission denied, open '/home/Sigi71/iobroker/test.csv'
      javascript.0	13:27:33.860	error	at Datei (script.js.Test-Center.test_csv_schreiben:10:29)
      javascript.0	13:27:33.860	error	at script.js.Test-Center.test_csv_schreiben:19:18
      javascript.0	13:27:33.860	error	at script.js.Test-Center.test_csv_schreiben:45:3
      

      Habe daraufhin dem User "iobroker" versucht Rechte zu geben mit :

      sudo chmod 777/home/Sigi71/ioborker
      

      Dies sieht nun wie folgt aus:

      drwxrwxrwx  2 iobroker iobroker  4096 Nov 12 12:37 .
      drwx------ 17 Sigi71   Sigi71    4096 Nov 12 12:41 ..
      -rw-r--r--  1 iobroker iobroker 65185 Nov 12 12:08 go-e.csv
      -rw-r--r--  1 iobroker iobroker   391 Nov 12 12:37 text.csv
      -rw-r--r--  1 iobroker iobroker 41990 Nov 12 12:08 wbh.csv
      

      Leider immer noch ohne erfolg.

      Hab schon zig Seiten durchforstet, komme aber nicht zum Ergebnis.
      mit welchem User führ der iobroker Befehle am Raspberry aus?

      Thomas Braun Homoran 3 Replies Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @wierer-sigi last edited by Thomas Braun

        @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

        mit welchem User führ der iobroker Befehle am Raspberry aus?

        Mit dem User 'iobroker' natürlich.

        Und hör auf das Rechtegefüge komplett auf Links zu frickeln.

        Ich schau gleich mal genauer, bin gerade unterwegs.

        MartinP 1 Reply Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @wierer-sigi last edited by

          @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

          Habe daraufhin dem User "iobroker" versucht Rechte zu geben mit :

          777 ist nicht wirklich sinnvoll!
          und wer ist ioborker?

          1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @Thomas Braun last edited by MartinP

            @wierer-sigi

            Tippfehler!

            Nun habe ich unter folgendem Pfad: /home/Sigi71/iobroker ein paar Textfiles liegen in denen ich täglich Datenpunkte weggeschrieben habe.

            Habe daraufhin dem User "iobroker" versucht Rechte zu geben mit :

            sudo chmod 777/home/Sigi71/ioborker
            

            Es ist keine "good practise" einem "fremden User" zu einem Verzeichnis unterhalb des Home Verzeichnisses schreibenden Zugriff zu gewähren ...

            Lass den iobroker in ein Verzeichnis schreiben, wo er "von Haus aus" Schreibrechte hat, und hole Dir von da die Dateien... als Mitglied der Gruppe iobroker solltest Du die entsprechenden Rechte haben.

            Nach meinem Dafürhalten ist ein vernünftiger Speicherort für solche Dateien:

            /opt/iobroker/iobroker-data/files/0_userdata.0

            Da kann man dann auch das (nicht mehr ganz) neue Blockly "Datei Schreiben" benutzen:

            1df3e370-f5a0-4f03-bfb8-41e5ef22f3ad-grafik.png

            https://forum.iobroker.net/topic/73748/javascript-7-11-0-neue-datei-bausteine-lesen-schreiben

            1 Reply Last reply Reply Quote 2
            • Thomas Braun
              Thomas Braun Most Active @wierer-sigi last edited by Thomas Braun

              @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

              Nun habe ich unter folgendem Pfad: /home/Sigi71/iobroker ein paar Textfiles liegen in denen ich täglich Datenpunkte weggeschrieben habe.

              Wie @MartinP schon richtig schreibt: Vollkommen falscher Ansatz. Lass die Dateien vom user 'iobroker' auch in dessen /home schreiben. Da kann und darf der alles und du hast kein Problem mit verfummelten Rechten.

              €dit: Alternativ halt in /opt/iobroker/iobroker-data/files/0_userdata.0

              Kopier die drei csv-Dateien raus und ändere deine Blockly entsprechend.

              wierer-sigi 1 Reply Last reply Reply Quote 0
              • wierer-sigi
                wierer-sigi @Thomas Braun last edited by

                Danke Euch für Eure Hilfe.

                Haber erst die 3 files in den Order /home/iobroker kopiert. Kommt aber immer noch die Fehlermeldung das Rechte fehlen.

                Bildschirmfoto 2024-11-12 um 14.29.31.png

                Habe dann den Test mit Datei schreiben ausgeführt. Das hat funktioniert und er hat eine neue "test.csv" unter /opt/iobroker/iobroker-data/files/0_userdata.0 angelegt.

                Habe dann im alten Blocky den Pfad auch abgeändert und wollte Werte in die Datei anfügen, kommt wieder der alte Fehler. "Permission denied"

                Thomas Braun Homoran 3 Replies Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @wierer-sigi last edited by

                  @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                  kommt wieder der alte Fehler. "Permission denied"

                  Das ist kein Fehler. Das ist lediglich ein Hinweis darauf, das die Rechte des users für die Aktion nicht ausreichen. Wie sehen die Dateirechte denn nun aus?

                  ls -l /pfad/zur/datei.csv
                  
                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @wierer-sigi last edited by

                    @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                    Habe dann den Test mit Datei schreiben ausgeführt. Das hat funktioniert

                    ...und wahrscheinlich die Rechte verbogen.

                    1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @wierer-sigi last edited by

                      @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                      Haber erst die 3 files in den Order /home/iobroker kopiert. Kommt aber immer noch die Fehlermeldung das Rechte fehlen.

                      Du musst halt schauen, welche Rechte für die jeweiligen Aktionen schreiben/lesen/ausführen die Dateien erfordern.

                      wierer-sigi 1 Reply Last reply Reply Quote 0
                      • wierer-sigi
                        wierer-sigi @Thomas Braun last edited by Homoran

                        @thomas-braun

                        Das sind die Rechte aktuell:

                        Sigi71@WBH-RasPi4:/opt/iobroker/iobroker-data/files/0_userdata.0 $ ls -l test.csv
                        -rw-rw-r--+ 1 iobroker iobroker 4 Nov 12 14:43 test.csv
                        

                        MOD-EDIT: Code in code-tags gesetzt!

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @wierer-sigi last edited by

                          @wierer-sigi

                          Da liegen ACLs drauf. Erkennbar am + am Ende der Rechte-Bits.

                          getfacl /opt/iobroker/iobroker-data/files/0_userdata.0/test.csv
                          

                          Und schau dir die Rechte auch an den alten Dateien an, die den 'Fehler' haben.

                          wierer-sigi 2 Replies Last reply Reply Quote 0
                          • wierer-sigi
                            wierer-sigi @Thomas Braun last edited by

                            @thomas-braun sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                            getfacl /opt/iobroker/iobroker-data/files/0_userdata.0/test.csv

                            1 Reply Last reply Reply Quote 0
                            • wierer-sigi
                              wierer-sigi @Thomas Braun last edited by Homoran

                              @thomas-braun

                              Sigi71@WBH-RasPi4:/opt/iobroker/iobroker-data/files/0_userdata.0 $ getfacl 
                              
                              /opt/iobroker/iobroker-data/files/0_userdata.0/test.csv
                              getfacl: Removing leading '/' from absolute path names
                              # file: opt/iobroker/iobroker-data/files/0_userdata.0/test.csv
                              # owner: iobroker
                              # group: iobroker
                              user::rw-
                              group::r-x			#effective:r--
                              group:iobroker:rwx		#effective:rw-
                              mask::rw-
                              other::r--
                              

                              MOD-EDIT: Code in code-tags gesetzt!

                              Aber das sagt doch das owner der iobroker ist, und der auch schreiben und lesen darf. Warum geht es dann nicht?

                              ACL - noch nie gehört oder in die Richtung was installiert

                              Thomas Braun 1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @wierer-sigi last edited by

                                @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                                ACL - noch nie gehört oder in die Richtung was installiert

                                ACLs werden im Zuge der Installation von iobroker eingeführt.
                                Näheres siehe hier:

                                https://wiki.ubuntuusers.de/ACL/

                                wierer-sigi 1 Reply Last reply Reply Quote 0
                                • wierer-sigi
                                  wierer-sigi @Thomas Braun last edited by

                                  @thomas-braun sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                                  https://wiki.ubuntuusers.de/ACL/

                                  habe mir den Link zu ACL angesehen und versucht zu verstehen.

                                  Die Liste wird von oben nach unten abgearbeitet.

                                  wenn ioborker als User und Group eingetragen ist, würde ich in der Ausgabe von getfacl keinen Eintrag sehen der dies überstimmt - correct?

                                  Thomas Braun 1 Reply Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @wierer-sigi last edited by

                                    @wierer-sigi

                                    Zuerst zieht die 'mask'. Deswegen sieht man deren Werte auch in der einfachen Ausgabe von ls.

                                    Durch die group mask 'rw' wird der Gruppe 'iobroker' auch wieder das x-Recht genommen. Also effektiv können Gruppenmitglieder von iobroker nur lesen und schreiben. Andere Gruppen können nur lesen.
                                    Der user 'iobroker' kann schreiben und lesen, alle anderen user können nur lesen.

                                    wierer-sigi 1 Reply Last reply Reply Quote 0
                                    • wierer-sigi
                                      wierer-sigi @Thomas Braun last edited by

                                      @thomas-braun
                                      OK aber dann sollte ja der iobroker an die Datei was anfügen können. Ist ja nur schreiben.

                                      Oder verwendet das Block "Datei schreiben" einen anderen Nutzer / Rechte als das Blocky "setze Ergebnis - Datei mit: Dateiname"

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @wierer-sigi last edited by

                                        @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                                        als das Blocky "setze Ergebnis - Datei mit: Dateiname"

                                        setzt nur den Wert einer Variable.
                                        Das Schreiben wird sich in der js Funktion verstecken.

                                        was steht denn da drin?

                                        wierer-sigi 1 Reply Last reply Reply Quote 0
                                        • wierer-sigi
                                          wierer-sigi @Homoran last edited by

                                          @homoran

                                          das verbirgt sich hinter der JS-Funktion mit Ergebnis "Datei" ...

                                          const fs = require('fs');
                                          switch(mode) {
                                              case 'r': return fs.readFileSync(Dateiname, 'utf8');
                                              case 'w': return fs.writeFileSync(Dateiname, Daten);
                                              case 'a': return fs.appendFileSync(Dateiname, Daten);
                                              default: return 'Parameter mode muss "r", "w" oder "a" sein';
                                          }
                                          
                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @wierer-sigi last edited by

                                            @wierer-sigi sagte in iobroker Rechter zum schreiben / ausführen auf dem Raspberry:

                                            case 'w': return fs.writeFileSync(Dateiname, Daten);
                                            case 'a': return fs.appendFileSync(Dateiname, Daten);

                                            da sind die Schreibbefehle
                                            wodurch die sich vom Block "Datei schreiben" unterscheiden muss ein js-Kundiger sagen

                                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            444
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            23
                                            787
                                            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