如何将 D-Bus 服务列入黑名单?

Nat*_*man 8 dbus

非特权用户如何阻止 D-Bus 服务启动?例如,/usr/share/dbus-1/services/org.bluez.obex.service是由会话总线启动的。似乎没有办法将其“列入黑名单”。

这是我的问题所指的会话总线。我想知道是否可以阻止特定服务在会话总线上启动。

Eld*_*eek 4

标准系统范围和每会话消息总线设置在文件/usr/share/dbus-1/system.conf和中配置/usr/share/dbus-1/session.conf。这些文件通常是 /etc/dbus-1 中的 system-local.conf 或 session-local.conf;您可以在这些文件中放置本地覆盖,以避免修改主配置文件。

配置文件是一个XML文档。它必须具有以下文档类型声明:

我相信你需要修改/usr/share/dbus-1/session.confubuntu 中的 /etc/dbus-1 链接到的内容。

注意:限制通常只对系统范围的总线感兴趣,而不是用户会话总线,但我认为您可以在会话总线上使用它们。

该元素定义了应用于一组特定的总线连接的安全策略。策略由 和 元素组成。策略通常与系统范围的总线一起使用;它们类似于防火墙,允许预期流量并阻止意外流量。

当策略重叠时,稍后应用的策略将覆盖先前应用的策略。具有相同用户/组/上下文的多个策略按照它们在配置文件中出现的顺序应用。

/usr/share/dbus-1/session.conf您可能可以在该行之前添加类似的内容</busconfig>,这将允许 lp 组中的人员访问并拒绝其他所有人的访问。当然,您需要修改它以适应您的环境和需求。

<policy group="lp">
    <allow send_destination="org.bluez"/>
    <allow send_destination="org.bluez.obex"/>
  </policy>

  <policy context="default">
    <deny send_destination="org.bluez"/>
    <deny send_destination="org.bluez.obex"/>
  </policy>
Run Code Online (Sandbox Code Playgroud)

资料来源:

https://github.com/netblue30/firejail/issues/796 http://www.linuxfromscratch.org/blfs/view/svn/general/dbus.html https://dbus.freedesktop.org/doc/dbus- daemon.1.html https://github.com/ghent360/bluez/blob/master/src/bluetooth.conf