向特定设备授予组权限

向特定设备授予组权限

我有一个我制作的平移网络摄像头(未来的机器人手臂)。相机通过访问 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两位数字前缀有助于以正确的顺序获取规则,您可能需要对其进行调整。当然,中间的部分只是为了帮助您了解创建它的原因。 :-)

相关内容