Frage:
Motion-Daemon: /var/log/motion/motion.log Berechtigung verweigert
participant
2018-02-02 13:40:41 UTC
view on stackexchange narkive permalink

Ich habe das motion -Paket auf meinem Pi (Stretch) installiert. Wenn ich motion im Vordergrund starte, funktioniert es, aber wenn ich versuche, es als Daemon zu starten, schlägt dies mit der folgenden Protokollmeldung fehl:

  motion: Berechtigung für / verweigert var / log / motion / motion.log  

Ich habe viele Ansätze gesehen, um dieses Problem durch Basteln mit den Berechtigungen von / var / log / ... zu beheben, aber das überzeugt mich nicht

F Wie kann dieses Problem richtig behoben werden?

Update

Ich habe motion als Dienst installiert und ich starte es zum Testen mit

  sudo service motion start  

, aber selbst dann schlägt es mit fehl Die folgende Fehlermeldung

raspberrypi motion [323]: [0: motion] [ERR] [ALL] myfopen: Fehler beim Öffnen der Datei /var/log/motion/motion.log mit Modus a: Berechtigung verweigert

Fünf antworten:
#1
+11
participant
2018-02-03 02:53:34 UTC
view on stackexchange narkive permalink

Gotcha! Zum Testen habe ich motion mit sudo motion -b gestartet. Daher wurde /var/log/motion/motion.log mit root: root geschrieben. Nach dem Entfernen von / var / log / motion und dem Neustart war der Motion-Daemon betriebsbereit und hatte die Berechtigung, in das Protokoll zu schreiben.

Das gleiche ist mir passiert. Ich denke, dies sollte die akzeptierte Antwort sein. Nachdem Sie das Verzeichnis "/ var / log / motion" entfernt haben, starten Sie den Dienst mit "sudo service motion restart" neu und es funktioniert ordnungsgemäß.
Das gleiche ist mir passiert. Hatte tosudo rm -fr / var / log / motion dann den Dienst neu gestartet und jetzt wird der richtige Besitzer / die richtige Gruppe in diesem Ordner angezeigt.
#2
+5
Charemer
2018-02-02 21:47:02 UTC
view on stackexchange narkive permalink

Es gibt drei Möglichkeiten, um das Problem zu beheben. Alle sind wirklich gleich, nur aus verschiedenen Blickwinkeln. Damit stellen Sie sicher, dass der Benutzer, der die Bewegung startet, über die Zugriffsberechtigung verfügt, in das Verzeichnis / var / log / motion / zu schreiben. Zuerst könnte dieser Benutzer einfach zum Eigentümer des Verzeichnisses werden. Und geben Sie dem Eigentümer Schreibzugriff. Der zweite wäre, den Daemon mit root mit dem Befehl sudo zu starten. Eine alternative dritte Methode besteht darin, Schreibzugriff auf das Protokollverzeichnis für eine Gruppenbewegung zuzulassen und diese zu einer zusätzlichen Gruppe eines Benutzers zu machen, der in der Lage sein muss, den Dämon zu starten.

ZB. Angenommen, Sie möchten eine Gruppenbewegung erstellen und den Benutzer pi

pi @ raspberrypi hinzufügen: ~ $ sudo groupadd motion pi @ raspberrypi: ~ $ sudo usermod -aG motion pi

Ändern Sie schließlich den Besitz und die Berechtigung des Verzeichnisses / var / log / motion

pi @ raspberrypi: ~ $ cd / var / log pi @ raspberrypi: / var / log $ chown root : motion motion pi @ raspberrypi: / var / log $ chmod 664 motion

Es ist einfacher und normaler, den Daemon als Root-Benutzer zu starten, der bereits über alle korrekten Berechtigungen verfügen sollte sudo Befehl wie ich bereits erwähnt habe.

#3
+2
Kamil
2019-05-19 00:31:38 UTC
view on stackexchange narkive permalink

Ich habe einen Fehler gemacht und 2 Bewegungssitzungen eröffnet: 1. Wurde mit Raspbian2 automatisch gestartet. Wurde von mir initiiert sudo motion

Diese von mir initiierte blockierte Datei sudo rm -rf / var / log / motion / * hat mir geholfen.

Wie unterscheidet sich das von der akzeptierten Antwort?
Wenn Sie nicht sehen können, erklären Sie schlecht. Wenn jemand Google mit "sudo motion" fragt, findet er diese Antwort. Ich habe einen Fall erklärt.
#4
+2
M. Rostami
2020-02-20 14:05:35 UTC
view on stackexchange narkive permalink

Ich habe alle Antworten getestet, aber keine Lösung. Nachdem ich den Himbeer-Pi neu gestartet habe, ist das Problem immer noch da. Befolgen Sie die nachstehenden Anweisungen, um das Problem zu beheben.


Erstellen Sie ein anderes Verzeichnis:

  sudo mkdir / home / log / motion  

Erstellen Sie eine Protokolldatei in diesem Verzeichnis :

  sudo touch /home/log/motion/motion.log  

Ändern Sie die Konfigurationsdatei in diese neue Protokolldatei:

  nano /etc/motion/motion.conf  

Fügen Sie diese Zeile hinzu / ändern Sie sie:

  logfile / home / log / motion / motion. log  

Der wichtige Teil ist das Hinzufügen der Benutzerberechtigung motion zu unserer neuen Protokolldatei, da diese als motion: motion : ausgeführt wird p>

  sudo chown motion: motion /home/log/motion/motion.log  
#5
  0
Brad Erlwein
2019-03-31 05:08:36 UTC
view on stackexchange narkive permalink

Ab Raspian Stretch (4.19.27-v7 + # 1206) und Motion 3.2.12 funktionierte dies auch:

  1. erstellte ein neues Verzeichnis ( sudo mkdir / tmp / motion ) li
  2. Änderungsberechtigungen ( sudo chown motion: motion / tmp / motion )
  3. logfile in /etc/motion/motion.conf zeigt auf / tmp / motion ( sudo nano /etc/motion/motion.conf und fügt logfile / tmp / motion )
  4. Bewegung neu starten (sudo service motion restart).
  5. ol>
Das OP hat Ihnen (wenn auch verschleiert) mitgeteilt, dass er / sie Raspbian Stretch verwendet. Wie ist eine Antwort auf Motion unter Ubuntu in irgendeiner Weise relevant dafür?
Dougie ... Danke ... ein müder Verstand rutscht leicht aus.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...