20

アームにルートファイルシステムを構築しました。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 サービスを再起動するだけで済みました。

これはおそらく、/etc/dbus-1/system.d/avahi-dbus.conf自動的に検出されなかった dbus 構成ファイル ( ) が avahi によって挿入されたためです。

于 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 に答える