3

I have installed the motion package on my pi (stretch). If I start motion in the foreground it's working but when I try to start it as a daemon it fails with the following log message:

motion: permission denied for /var/log/motion/motion.log

I've seen many approaches to fix this problem by tinkering with the permissions of /var/log/... but this does not convince me.

Q What's the correct way to fix this problem?

Update

I've motion installed as a service and I start it for testing with

sudo service motion start

but even then it fails with the error message below

raspberrypi motion[323]: [0:motion] [ERR] [ALL] myfopen: Error opening file /var/log/motion/motion.log with mode a: Permission denied

2

There are three ways to fix the problem. All are really the same, just from different angles. That is to make sure that the user starting motion has the access permission to write into the /var/log/motion/ directory. First could just make that user the owner of the directory. And give the owner write access. The second would be start the daemon using root by using the sudo command. An alternative third method is to allow write access to the log directory for a group 'motion' and to make that a supplementary group of any user needing to be able to start the daemon.

E.g. Assuming you want to create group motion and add user pi

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

Finally change the ownership and permission of the /var/log/motion directory

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

It is simpler and more normal to start the daemon as the root user who should already have all the correct permissions by using sudo command as I already mentioned.

2

Gotcha! For testing I started motion with sudo motion -b. Therefore, /var/log/motion/motion.log was written with root:root. After removing /var/log/motion and reboot, the motion-daemon was up and running and had the permission to write to the log.

  • Same thing happened to me. I think this should be the accepted answer. After removing the /var/log/motion directory, restart the service using sudo service motion restart and it works correctly. – jontsai Oct 20 '18 at 3:05
0

As of Raspian Stretch (4.19.27-v7+ #1206) and motion 3.2.12, this also worked:

  1. created a new directory (sudo mkdir /tmp/motion)
  2. change permissions (sudo chown motion:motion /tmp/motion)
  3. change target dir in /etc/motion/motion.conf to point to /tmp/motion (sudo vi /etc/motion/motion.conf)
  4. restart motion (sudo service motion restart).
  • The OP told you (albeit in a veiled way) that he/she is using Raspbian Stretch. So how is an answer about Motion on Ubuntu in any way relevant to that? – Dougie Mar 31 at 8:41
  • Dougie ...Thanks ...a tired mind slips easily. – Brad Erlwein Apr 2 at 14:05
0

I made mistake and opened 2 sessions of Motion: 1. Was autostarted with Raspbian 2. Was initiated by me sudo motion

This initiated by me blocked file, sudo rm -rf /var/log/motion/* helped me.

New contributor
Kamil is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • How is this different from the accepted answer? – RalfFriedl May 18 at 19:56
  • If you can't see ill explain you. If somebody will asking google with "sudo motion" he will find this answer. I explained one of cases. – Kamil May 18 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.