C中的打开功能表示无法打开设备:权限被拒绝

时间:2015-09-13 18:04:58

标签: c++ sudo hid

我一直在弄hidraw.h看看我能用USB做什么,但当我尝试打开/dev/hidraw0它说Unable to open device: Permission denied时,我知道我可以做{{}}之类的事情{1}} 但当然它不会产生同样的效果。我也在Kali Linux。这是我的代码:

system("sudo open /dev/hidraw0");

2 个答案:

答案 0 :(得分:1)

您的程序无权打开/dev/hidraw0。因此,您需要以拥有权限的方式运行它。

正如ForceBru的评论所暗示的那样,最简单的方法是在sudo下运行程序。 (您不能只运行open下的sudo功能; open是一个功能,而不是程序。)

您也可以使用setuidchmod u+s设置chmod u+gs标记,使程序以root权限运行。

考虑到设备具有的权限可能是很好的理由。小心。

答案 1 :(得分:0)

如果可能,请先尝试为该设备提供更多权限

sudo chmod 777 /dev/hidraw0

然后运行你的程序。如果需要,还可以尝试通过Chown命令更改其所有者。