Bluez Library以非root用户身份访问

时间:2016-05-17 22:08:07

标签: linux bluetooth bluetooth-lowenergy bluez

我使用bluez4库API开发了BLE扫描应用程序。我能够使用root用户运行应用程序但是由于安全原因,我需要运行非root用户的应用程序。

使用setcap包我可以做" hcitool lescan"作为非root用户,

=> sudo setcap' cap_net_raw,cap_net_admin + eip' which hcitool => getcap!$  getcap which hcitool

但是这些更改在以非root用户身份运行我的ble扫描应用程序时不起作用,并且它被API" hci_send_req"返回错误"无法设置扫描参数数据。操作不允许"。

请有人帮我解决这个问题。

此致 Nishith

1 个答案:

答案 0 :(得分:1)

也许晚了两年,但我得到了同样的错误,答案很简单。 您只需要对要执行的二进制文件执行setcap操作,以便可以访问蓝牙操作。命令如下:

sudo setcap 'cap_net_raw,cap_net_admin+eip' /absolute/path/to/your/executable/file

希望有所帮助!