我有一个我制作的平移网络摄像头(未来的机器人手臂)。相机通过访问 arduino 的 Web 界面(cgi 脚本和 JS 界面)进行平移。为了能够通过接口发送命令,我将 www-data (网络服务器用户组)添加到 arduino 所依赖的拨出组中。
啊,好吧,我意识到这不是我想做的事,而且很没有安全感!我想要做的是授予 www-data 组用户对一台设备 /dev/ttyACM0 的权限
我怎样才能做到这一点,并将 apache 用户排除在拨出组之外?
更新:发行版:Debian 7.7
答案1
您可能想要为 编写规则udev
。假设没有更改udev.conf
,您的规则文件应放入/etc/udev/rules.d/
;它可以帮助您抄袭包的规则,这些规则可以在 中找到/lib/udev/rules.d/
。
编写好的规则是一门后天习得的艺术,但如果您没有其他 ttyACM* 设备,您可以从简单的事情开始:
# Give web server read/write access to camera
KERNEL=="ttyACM?", ACTION=="add", \
MODE:="0660", \
GROUP:=www-data
您需要将上述内容放入一个文件中,例如- 它必须以;/etc/udev/rules.d/10-camera.rules
结尾.rules
两位数字前缀有助于以正确的顺序获取规则,您可能需要对其进行调整。当然,中间的部分只是为了帮助您了解创建它的原因。 :-)