是否有一个组可以添加用户,并授予其对 Linux 的 LED 子系统 (/sys/class/leds/) 进行写入的权限?
如果没有的话,是否可以创建这样的小组?
我不想以 sudo 身份运行我的应用程序。
编辑:我只想更改一些我真正需要写入权限的设备的权限,而不是整个 leds 子系统的权限。我发布了一个对我有用的解决方案。
答案1
我找到了一个适合我的问题的解决方案。我添加了一个 udev 规则,如中所述对类似问题的回答。
首先我必须创建一个名为 leds 的新组。然后我在 /etc/udev/rules.d/10-buzzers.rules 中创建了 udev 规则(我自己创建了该文件,之前它并不存在)。
由于我只想使用 Playstation 2 蜂鸣器控制器的蜂鸣器 LED,因此我优化了规则以仅影响控制器的文件。该规则仅适用于与 KERNEL 字段中的内核信息匹配的设备。
该规则执行 chgrp 和 chmod,匹配的设备文件归 leds 组所有,并且拥有组具有写权限。
我的最后一条规则是:
SUBSYSTEM=="leds", KERNEL=="0003:054C:1000.[0-9]*::buzz[1-4]", ACTION=="add", RUN+="/bin/chgrp -R leds /sys%p", RUN+="/bin/chmod -R g=u /sys%p"