Motion on_picture_save funktioniert nicht

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen ich bin gerade dabei mit hillfe von Motion Bilder alle 10 Sekunden mit einer usb webcam zu machen und will die eingebaute Funktion

    on_picture_save nutzen um nach jedem gemachten Bild den Bildnamen in eine seperate Trext Datei zu speicher.

    Habe das so gemachT:

    Aber leider klappt das so nicht, es passiert einfach gar nicht ^^ Die Bilder werden ganz normal erstellt aber es wird nicht in die Datei geschrieben.

    Habe schon gegoogelt und herausgefunden das es an den Rechten der Datei liegen kann, jedch hat das auch nicht geholfen

    Habt ihr vl nen Tipp oder seht ihr diret den Fehler?

    Danke schonmal :)

  • Habe schon gegoogelt und herausgefunden das es an den Rechten der Datei liegen kann, jedch hat das auch nicht geholfen

    Was hast Du herausgefunden und was hat nicht geholfen? Ich denke auch, dass es das Problem ist.

    darf der user motion überhaupt nach /home/pi schreiben?

  • Was hast Du herausgefunden und was hat nicht geholfen? Ich denke auch, dass es das Problem ist.

    darf der user motion überhaupt nach /home/pi schreiben?

    was ich gefunden habe war das die Datei der Gruppe motion angehören muss aber das hat nicht geändert.
    ob der user motion nach home/pi schreiben kann weis ich net wie überprüfe ich das?

  • So ich habe zwar jetzt das ganze zum laufen gebracht in dem ich den Benutzer und die Gruppe auf motion gestellt habe mit

    sudo chown motion:motion dateiname

    so funktioniert das.

    Nun habe ich aber das ganze erweiter und will das bei on_picture_save eine Bash datei ausgeführt wird.

    In dieser Bashdatei soll dann eine weitere Datei mit Namen erstellt werden quasi wie vohin jedoch alles ausgelagert in einem Bashscript.

    Das Problem hierbei ist jedoch wieder das die Datei nicht erstellt wird. Wie kann ich denn dem user motion die rechte heben in /home/pi zu schreiben ?

    Ich hoffei ihr verstehht was ich meine.

    • Offizieller Beitrag

    Wie kann ich denn dem user motion die rechte heben in /home/pi zu schreiben ?

    Nein, das ist der falsche Weg! Erstelle einen Ordner motion in home also /home/motion (soweit noch nicht vorhanden), der dem User und der Gruppe motion gehört. Dort kannst Du Dich austoben. ;)

  • Nein, das ist der falsche Weg! Erstelle einen Ordner motion in home also /home/motion (soweit noch nicht vorhanden), der dem User und der Gruppe motion gehört. Dort kannst Du Dich austoben. ;)

    hab das mal so gemacht, jedoch muss ich dann immer mit sudo alle dateien etc. erstellen da ich ja benutzer pi bin und dort keine rechte habe, worin liegt das nun der sinn?

  • Das es funktioniert?

    Nein, im Ernst, was genau willst Du denn als pi dort anlegen?

    Das Script das durch on_picture_save aufgerufen werden soll. Und in diesem Script werden weitere dateien erstellt. Ich schau mal ob das nun klappt.

    Den in /home/pi musste ich extra die dateien die im Script erstellt werden sollten selbst als "pi" erstelle und dann zusätzlich noch gruppe und nutzer ändern

    • Offizieller Beitrag

    hab das mal so gemacht, jedoch muss ich dann immer mit sudo alle dateien etc. erstellen da ich ja benutzer pi bin und dort keine rechte habe

    Du könntest den User pi in die Gruppe motion hinzufügen (Aber bitte NICHT andersherum!), dann kann pi auch auf die Dateien zugreifen.

    Code
    sudo usermod -aG motion pi
  • so hier mal was ich nun gemacht habe.

    1. in /home habe ich Odner motion erstellt mit Gruppe und Nutzer motion:

    2. habe ich ein einfaches Script foo erstellt:

    dieses script hat folgede nutzer:gruppe:

    -rwxr-xr-x 1 motion motion 34 Mar 6 20:22 foo.sh

    In der motion.conf habe ich folgende dinge geändert:

    Code
    target_dir /home/motion
    ...
    on_picture_save /home/motion/foo.sh %f

    Leider geht das nicht. Es wird die Datei pic.txt nicht erstellt. Wo liegt nun der Fehler ^^

  • Hast Du Dein Skript ausführbar gemacht?

    Du brauchst gar nicht groß rummachen mit den Rechten.

    motion darf, wenn Du die Rechte in /home/motion korrekt vergeben hast, dort alles. Wenn Du mit sudo in /home/motion Dein Skript erstellst, das dann ausführbar machst, dann geht das schon. Root darf zwar alleinig ändern, ausführen darf motion das aber einfach so. Und der Rest ergibt sich, weil motion als motion unterwegs ist und die Rechte an Dein Skript vererbt.

  • Hast Du Dein Skript ausführbar gemacht?

    Du brauchst gar nicht groß rummachen mit den Rechten.

    motion darf, wenn Du die Rechte in /home/motion korrekt vergeben hast, dort alles. Wenn Du mit sudo in /home/motion Dein Skript erstellst, das dann ausführbar machst, dann geht das schon. Root darf zwar alleinig ändern, ausführen darf motion das aber einfach so. Und der Rest ergibt sich, weil motion als motion unterwegs ist und die Rechte an Dein Skript vererbt.

    okay das habe ich verstanden werde das morgen nochmal schritt für schritt druchgehen heute habe ich kein kopf mehr dafür ^^

    würde das ganze aber dann nicht auch in pi gehen wenn ich in /home/pi den ordern motion erstelle mit nutzer und gruppe motion?
    dann müsten die recht doch auch an das script dass dann im ordner motion richtig weiter gegeben werden. Ich bin mir noch ganz sicher wo

    der unterschied liegt wenn ich den ordenr motion aus pi hole und in home tue

    • Offizieller Beitrag

    Ich bin mir noch ganz sicher wo

    der unterschied liegt wenn ich den ordenr motion aus pi hole und in home tue

    Da hätte ich ein wenig Lektüre für Dich: https://www.selflinux.org/selflinux/html…nter_linux.html ;)

  • So nach einer kurzen Pause musst ich mich doch noch dran setezen hat mir keine Ruhe gelassen ^^


    Das Ergebniss es funktioniert nun :)

    Hier sieht man die Rechte für alles die ich vergeben habe:

    Und hier sieht man das die auch die Datei die ich in dem kurzen Bash script erstelle tatsächlich erstellt wird und gleich als user und gruppe motion drin hat

    In der Datei pic.txt steht dann auch wie ich es wollte der Name der Snapshots zusammen mit dem Pfad:

    Danke für die ganze Hilfe :) Werde mit auf jeden Fall die nächsten Tage die Lektüre reinziehen um das ganze mit Gruppen/Benutzern und Rechten besser zu verstehen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!