通过apache / python脚本调用fswebcam

时间:2014-04-22 03:21:20

标签: python

我在python脚本中运行以下命令:

res = subprocess.Popen(["fswebcam", "-r 640x480", "grab.jpeg"], shell=False, stdout=subprocess.PIPE, cwd="/var/www/pics");
output = res.communicate()[0];

在手动调用脚本时运行正常。

但是当通过apache运行脚本时,我没有收到任何错误消息,但/ var / www / pics目录中没有出现任何图像。此目录已分配给www-data:www-data并具有写入权限。

我不明白为了让这项工作失去了我所缺少的东西。

1 个答案:

答案 0 :(得分:0)

终于发现了这个问题,www-data用户不允许运行fswebcam,所以我在/etc/sudoers.d目录中添加了一个配置文件,允许用户通过www-data访问fswebcam。

以下是我的文件内容:

  

默认值:www-data!requiretty

     

%www-data ALL = NOPASSWD:/ usr / bin / fswebcam

我还必须在我的python脚本中修改对fswebcam的调用,添加" sudo"作为命令的开始。

  

res = subprocess.Popen([" sudo"," fswebcam"," -r 640x480"," grab.jpeg"] ,shell = False,stdout = subprocess.PIPE,cwd =" / var / www / pics");