dbus_bus_request_name():接続がサービスを所有することは許可されていません
質問
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構成についてですか?
解決
私の場合、私のシステムパケットシステムに付属するデフォルトのavahi-dbus.confは、最後のavahi-dbus.confにもありました。 </policy>
" 前 " </busconfig>
「このエラーがトリガーされました。
この種の構文エラーを見つけるには迅速では十分ではないため、このファイルから問題が発生しないと最初に考えました。
他のヒント
私の場合、DBUSサービスを再起動する必要がありました。
これはおそらく、AvahiがDBUS構成ファイルを挿入したためです(/etc/dbus-1/system.d/avahi-dbus.conf
)自動的に検出されませんでした。
クライアントがシステムバスでどの名前を登録できるかには制限があります。それ以外の場合、ユーザープロセスは、システムサービスを意図したリクエストを受信できます。制限は、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>
これらの標準構成ファイルまたは適切なカスタム構成が整っていることを確認してください。