Как разрешить службе systemd без полномочий root использовать dbus для работы BLE

Что-то вроде этого работает для меня, чтобы заставить socat слушать только localhost.

socat TCP-LISTEN:22,fork,bind=127.0.0.1 TCP:192.168.0.15:5900

Так что вы можете попробовать это.

socat TCP-LISTEN:22,fork,bind=8.8.8.8 TCP:192.168.0.15:5900
7
01.03.2017, 19:22
2 ответа

в / etc / dbus-1 / system. d / bluetooth.conf , попробуйте добавить это:

<policy user="blePeripheral">
  <allow own="org.bluez"/>
  <allow send_destination="org.bluez"/>
  <allow send_interface="org.bluez.GattCharacteristic1"/>
  <allow send_interface="org.bluez.GattDescriptor1"/>
  <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
  <allow send_interface="org.freedesktop.DBus.Properties"/>
</policy>

Затем перезапустите службу dbus:

systemctl restart dbus
10
27.01.2020, 20:16

Хотя технически ответ @Mark ответил на вопрос о том, как настроить файл конфигурации dbus bluetooth для достижения того, что я хочу, я заметил, посмотрев в этот файл кое-что, что я жаль, что я не заметил перед отправкой. Группа bluetooth получает доступ к шине. Так что для меня было проще (может быть, правильнее?) Просто добавить моего пользователя без полномочий root в группу bluetooth. Что также позволяет всем работать нормально.

11
27.01.2020, 20:16

Теги

Похожие вопросы