20

我在arm上建立了一个根文件系统。它应该运行 dbus-daemon 和 avahi-daemon,但是当我尝试运行时avahi-daemon

$ dbus-daemon --system
$ avahi-daemon

我收到这条消息:

Found user 'avahi' (UID 4) and group 'avahi' (GID 4).
Successfully dropped root privileges.
avahi-daemon 0.6.28 starting up.
WARNING: No NSS support for mDNS detected, consider installing nss-mdns! 
dbus_bus_request_name(): Connection ":1.0" is not allowed to own the service "org.freedesktop.Avahi" due to security policies in the configuration file
WARNING: Failed to contact D-Bus daemon.
avahi-daemon 0.6.28 exiting.

怎么了?是关于 dbus 配置的吗?

4

3 回答 3

23

就我而言,我只需要重新启动 dbus 服务。

这可能是因为 avahi 插入了/etc/dbus-1/system.d/avahi-dbus.conf未自动检测到的 dbus 配置文件 ( )。

于 2015-08-31T23:09:28.173 回答
21

什么客户可以在系统总线上注册什么名字是有限制的。否则,用户进程可能会收到针对某些系统服务的请求。这些限制是通过 dbus-daemon 配置文件配置的,通常是/etc/dbus-1/system.conf. 在标准安装中,此文件包括其他配置文件,尤其是在/etc/dbus-1/system.d/存储服务特定配置的目录中的所有配置文件。这种方式 DBus 通常是为 Avahi 配置的:

我的工作站示例:

$ cat /etc/dbus-1/system.d/avahi-dbus.conf 
<!DOCTYPE busconfig PUBLIC
          "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
          "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- Only root or user avahi can own the Avahi service -->
  <policy user="avahi">
    <allow own="org.freedesktop.Avahi"/>
  </policy>
  <policy user="root">
    <allow own="org.freedesktop.Avahi"/>
  </policy>

  <!-- Allow anyone to invoke methods on Avahi server, except SetHostName -->
  <policy context="default">
    <allow send_destination="org.freedesktop.Avahi"/>
    <allow receive_sender="org.freedesktop.Avahi"/>

    <deny send_destination="org.freedesktop.Avahi"
          send_interface="org.freedesktop.Avahi.Server" send_member="SetHostName"/>
  </policy>

  <!-- Allow everything, including access to SetHostName to users of the group "adm" -->
  <policy group="adm">
    <allow send_destination="org.freedesktop.Avahi"/>
    <allow receive_sender="org.freedesktop.Avahi"/>
  </policy>
  <policy user="root">
    <allow send_destination="org.freedesktop.Avahi"/>
    <allow receive_sender="org.freedesktop.Avahi"/>
  </policy>
</busconfig>

确保您拥有这些标准配置文件或适当的自定义配置。

于 2010-12-30T09:35:53.830 回答
5

我有一个类似的问题,在我的情况下,我的系统数据包系统附带的默认 avahi-dbus.conf 只是缺少触发此错误的最后一个“ </policy>”之前“ ”。</busconfig>

我首先认为问题不是来自这个文件,因为快速查看它不足以找到这种语法错误。

于 2012-08-10T12:07:06.023 回答