我正在用Anjuta在C语言中用libusb库编写一个小型应用程序。
libusb出于某些目的需要写权限。
在本主题中已经讨论了这个问题:“是否可以访问Linux(libusb-1.0)上的USB设备?”。
也许主题解决方案可以正常工作(我还没有尝试过),但是我希望我的应用程序可以访问所有USB设备,而不是特定的设备。
我试图在具有根所有者但具有libusbopen功能的libusb-1.0.so文件中设置suid位,例如,再次回答“ libusb需要对USB设备节点的写访问权”。
我不会以root用户身份构建整个anjuta项目,但到目前为止,这是解决libusb-1.0问题的唯一解决方案。
是否有解决方案,无需修改udev行为即可获得对通用USB设备(例如,热插拔pendrive)的inode的写访问权?
最佳答案
我找到了一种解决方法。也许不是很好,但似乎效果很好。
我在udev配置目录(020_permissions.rules
)中添加了一个权限规则文件(/etc/udev/rules.d
),其中唯一的规则是哪个Unix组应该拥有所有USB设备节点。
文件内容为:
SUBSYSTEM=="usb", GROUP=="group to belong my user"
如果您遇到类似的libusb问题,希望对您有所帮助。
关于c - 通用USB设备的libusb-1.0写入权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8231440/