【问题标题】:Bluez Library access as non root user以非 root 用户身份访问 Bluez Library
【发布时间】:2016-09-14 04:44:00
【问题描述】:

我使用 bluez4 库 API 开发了 BLE 扫描应用程序。我可以使用 root 用户运行应用程序,但出于安全原因,我需要使用非 root 用户运行应用程序。

使用 setcap 包,我能够以非 root 用户身份执行“hcitool lescan”,

=> sudo setcap 'cap_net_raw,cap_net_admin+eip' which hcitool => 获取上限!$ getcap which hcitool

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

请有人可以帮助我。

问候 尼西斯

【问题讨论】:

    标签: linux bluetooth bluetooth-lowenergy bluez


    【解决方案1】:

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

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

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      • 2016-03-16
      • 2021-07-06
      • 2017-07-08
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多