motion: permission denied for /var/log/motion/motion.log
我已经看到了许多方法通过修补/ var / log / ...的权限来解决此问题,但这并不能说服我。
Q解决此问题的正确方法是什么?
Update
我已将Motion安装为服务,并通过
sudo service motion start
启动它进行测试,但即使如此,它仍会失败并显示错误以下消息
raspberrypi运动[323]:[0:运动] [错误] [全部] myfopen:使用模式a打开文件/var/log/motion/motion.log时出错:权限被拒绝
#1 楼
知道了!为了进行测试,我从sudo motion -b
开始运动。因此,/var/log/motion/motion.log
是用root:root
编写的。删除/var/log/motion
并重新启动后,motion守护程序已启动并正在运行,并具有写入日志的权限。#2 楼
有三种方法可以解决此问题。只是从不同的角度来看,所有这些都是真的相同。这是为了确保用户开始运动具有访问权限以写入/ var / log / motion /目录。首先可以使该用户成为目录的所有者。并授予所有者写访问权限。第二个方法是使用sudo命令使用root用户启动守护程序。另一种可选的第三种方法是允许对“运动”组的日志目录进行写访问,并使需要启动守护程序的所有用户成为一个补充组。假设要创建组运动并添加用户pi
pi@raspberrypi:~$sudo groupadd motion
pi@raspberrypi:~$sudo usermod -aG motion pi
最后更改/ var / log / motion目录的所有权和权限
pi@raspberrypi:~$cd /var/log
pi@raspberrypi:/var/log $ chown root:motion motion
pi@raspberrypi:/var/log $ chmod 664 motion
像我已经提到的那样,使用sudo命令以应该已经具有所有正确权限的root用户身份启动守护程序是更加简单和正常的做法。
#3 楼
我已经测试了所有答案,但没有解决方案。重新启动树莓派之后,问题仍然存在。请按照以下步骤解决问题。创建另一个目录:
sudo mkdir /home/log/motion
在此目录中创建日志文件:
sudo touch /home/log/motion/motion.log
将配置文件更改为此新的日志文件:
nano /etc/motion/motion.conf
添加/更改此行:
logfile /home/log/motion/motion.log
重要的部分是将
motion
用户权限添加到我们的新日志文件中,因为它将以motion:motion
的身份运行:sudo chown motion:motion /home/log/motion/motion.log
评论
谢谢!我已经阅读了很多答案,这是第一个解决运动作为运动用户运行的问题的人。
– jsaven
20/12/31在5:33
#4 楼
我弄错了,并打开了Motion的2个会话:1。通过Raspbian
2自动启动。由我发起
sudo motion
由我发起阻止文件,
sudo rm -rf /var/log/motion/*
帮助我。评论
这与接受的答案有何不同?
– RalfFriedl
19年5月18日在19:56
如果看不到病,请向您解释。如果有人用“ sudo motion”问谷歌,他会找到这个答案。我解释了一种情况。
–卡米尔
19年5月18日在20:07
#5 楼
从Raspian Stretch(4.19.27-v7 +#1206)和运动3.2.12开始,此方法也起作用:创建了一个新目录(
sudo mkdir /tmp/motion
)更改权限(
sudo chown motion:motion /tmp/motion
)将
logfile
中的/etc/motion/motion.conf
指向/tmp/motion
(sudo nano /etc/motion/motion.conf
并添加logfile /tmp/motion
)重新启动运动(sudo服务运动重新启动)。
评论
OP告诉您(尽管以遮遮掩掩的方式)他/她正在使用Raspbian Stretch。那么,关于Ubuntu上的Motion的答案有何相关之处?
–道奇
19年3月31日在8:41
道吉(Dougie)...谢谢。。。疲惫的心灵容易滑落。
–布拉德·埃尔文(Brad Erlwein)
19年4月2日在14:05
评论
同样的事情发生在我身上。我认为这应该是公认的答案。删除/ var / log / motion目录后,请使用sudo service motion restart重新启动服务,它可以正常工作。
–琼赛
18-10-20在3:05
同样的事情发生在我身上。不得不sudo rm -fr / var / log / motion然后重新启动服务,现在正确的所有者/组显示在该文件夹上。
–乔什(Josh P)
20年1月4日15:22