我在/etc/devd.conf中有下面的行,这些行为具有指定供应商和产品id的/dev/uhid*设备执行usbhidaction。
attach 100 {
match "vendor" "0x046a";
match "product" "0x0107";
action "/usr/local/bin/sudo -u my_user /usr/bin/usbhidaction -f $device-name -p /var/hid_run/usbaction.pid -c /etc/hidactions/cherry_JK0200";
};和/etc/devfs.rules中的下列行
[tant=10]
add path 'uhid*' mode 0660 group hid但是,当我重新启动时,devd部分在devfs部分之前执行,然后my_user没有从/dev/uhid*读取的权限。
我买了一个新的键盘和功能键是一个额外的usb-hid设备。现在,当我按下这些函数键之一时,我想要执行一些小脚本,比如减少音量或静音音量。
由于脚本来自my_user,所以我不希望程序由root执行。尤其是像计算器或贝壳这样的东西。
发布于 2013-07-04 01:38:45
Devd运行在rc之前,因此在devfs之前--这是由它的创建者精心选择的--您可以在这里看到他的推理:http://www.usenix.org/events/bsdcon03/tech/full_文件/losh/losh.pdf (Chapt )。7.2)
Devd完全在用户空间中运行,根权限没有问题。
除非你选择这样做-这就是你所做的。
使用devd.conf在用户空间中设置值。在devfs中测试您的国旗。
https://unix.stackexchange.com/questions/81076
复制相似问题