Answers:
您可以创建udev规则来设置设备上的特定权限。作为root,您可以:
回声'SUBSYSTEM ==“ vchiq”,GROUP =“ video”,MODE =“ 0660”'> /etc/udev/rules.d/10-vchiq-permissions.rules usermod -a -G视频YourUnprivilegedUser
/lib/udev/rules.d/91-permissions.rules
因此,我尝试将其写入更高的文件(并且可能在名称中包括local,以将其标识为本地修改),即:echo `SUBSYSTEM=="vchiq",GROUP="video",MODE="0660"\' > /etc/udev/rules.d/92-local-vchiq-permissions.rules
您可以设置SUID
权限
sudo chmod u+s /dev/vchiq
setuid
属性后,系统上有权执行此文件的普通用户将获得拥有该文件的用户(通常为root)的特权。您可以在程序上设置它(假设它是由root拥有的)。由于/dev/vchiq
属于组,video
另一个选项是将setgid
程序上的组设置为video
。
www-data
在video
组中,但这没有帮助,但是我chmod a+rw /dev/vchiq
在Raspbian Stretch上成功实现了。
加
start_x=1
gpu_mem=256
到boot/config.txt
再运行sudo raspistill -o cam.jpg
当然,我为raspistill添加了路径。它在Ubuntu中为我工作。
sudo usermod -a -G video $(whoami)
),我也建议(出于安全目的)为需要访问摄像机的任何过程添加一个专用用户,并将该用户仅添加到video
组中。