linux dbus busybox avahi

linux - dbus_bus_request_name(): las conexiones no pueden ser propietarias del servicio



busybox avahi (3)

Construí un sistema de archivos raíz en el brazo. Debería ejecutar dbus-daemon y avahi-daemon, pero cuando intento ejecutar avahi-daemon

$ dbus-daemon --system $ avahi-daemon

Recibo este mensaje:

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.

¿Qué está mal? ¿Se trata de la configuración de dbus?


En mi caso simplemente tuve que reiniciar el servicio dbus.

Esto probablemente se debió a que avahi insertó un archivo de configuración de dbus ( /etc/dbus-1/system.d/avahi-dbus.conf ) que no se detectó automáticamente.


Hay restricciones sobre qué cliente puede registrar qué nombre en el bus del sistema. De lo contrario, un proceso de usuario podría recibir una solicitud destinada a algún servicio del sistema. Las restricciones se configuran a través del archivo de configuración /etc/dbus-1/system.conf -daemon, generalmente /etc/dbus-1/system.conf . En instalaciones estándar, este archivo incluye otros archivos de configuración, especialmente todos en el directorio /etc/dbus-1/system.d/ , donde se almacenan las configuraciones específicas del servicio. De esta manera, DBus se suele configurar para Avahi:

Ejemplo de mi estación de trabajo:

$ 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>

Asegúrese de tener estos archivos de configuración estándar o una configuración personalizada adecuada en su lugar.


Tuve un problema similar, en mi caso, el avahi-dbus.conf predeterminado que viene con el sistema de paquetes de mi sistema simplemente carece del último " </policy> " antes de " </busconfig> " que provocó este error.

Primero pensé que el problema no venía de este archivo, ya que un vistazo rápido no es suficiente para encontrar este tipo de error de sintaxis.