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 @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
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

                                    • Nie direkt in iobroker-data/files schreiben
                                    • Dort immer die ioBroker Funktionen nutzen. Sonst sind die Metadaten nicht vorhanden oder falsch
                                    • Nur über die ioBroker Funktionen bekommt man auch Events
                                    • Braucht man das alles nicht, sucht man sich eine Stelle außerhalb von iobroker-data/files
                                    • Die Sandbox verhindert schreiben/ändern von Daten in den Verzeichnissen eh (mit node:fs)

                                    Es kommt also darauf an, was man vor hat.

                                    Thomas Braun 1 Reply Last reply Reply Quote 1
                                    • Thomas Braun
                                      Thomas Braun Most Active @haus-automatisierung last edited by

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

                                      Es kommt also darauf an, was man vor hat.

                                      Dann wohl besser in /home/iobroker hantieren.
                                      War ja auch meine erste Wahl.

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

                                        Danke für Eure Hilfe.

                                        Habe die JS-Funktion, gelöscht und neu eingegeben - ohne Änderung.

                                        Dann ging es wieder, vlt. hat sich da ein Fehler beim wiederherstellen des Backups eingeschlichen

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        594
                                        Online

                                        31.7k
                                        Users

                                        79.7k
                                        Topics

                                        1.3m
                                        Posts

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