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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    iobroker Rechter zum schreiben / ausführen auf dem Raspberry

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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

                                      907
                                      Online

                                      31.7k
                                      Users

                                      79.9k
                                      Topics

                                      1.3m
                                      Posts

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