2010-12-30 12 views
15

Creé un sistema de archivos raíz en el brazo. Debería funcionar dbus-daemon y avahi-daemon, pero cuando trato de ejecutar avahi-daemondbus_bus_request_name(): las conexiones no pueden ser propietarias del servicio

$ dbus-daemon --system 
$ avahi-daemon 

me sale 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é le pasa? ¿Es sobre la configuración dbus?

+0

Cuéntenos cómo configuró dbus & avahi. – ismail

Respuesta

5

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

Primero pensé que el problema no provenía de este archivo, ya que una rápida revisión no es suficiente para encontrar este tipo de error de sintaxis.

14

Existen 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 dbus-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. Enlace con el Bus de esta manera se configura generalmente 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 que tiene estos archivos de configuración estándar o una configuración personalizada adecuado en el lugar.

14

En mi caso, simplemente tuve que reiniciar el servicio dbus.

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

Cuestiones relacionadas