2010-12-30 10 views
15

मैंने हाथ पर रूट फाइल सिस्टम बनाया है। यह dbus-डेमॉन और avahi-डेमॉन चलाना चाहिए, लेकिन avahi-daemondbus_bus_request_name(): कनेक्शन की सेवा के लिए कनेक्शन की अनुमति नहीं है

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

क्या गलत है? क्या यह डीबीस कॉन्फ़िगरेशन के बारे में है?

+0

हमें बताएं कि आपने डीबीस और अवही को कैसे कॉन्फ़िगर किया था। – ismail

उत्तर

5

मुझे एक ही समस्या थी, मेरे मामले में डिफ़ॉल्ट avahi-dbus.conf जो मेरे सिस्टम पैकेट सिस्टम के साथ आता है, "" से पहले अंतिम "</policy>" की कमी है जो इस त्रुटि को ट्रिगर करता है।

मैंने पहली बार सोचा था कि समस्या इस फ़ाइल से नहीं आई है क्योंकि इस तरह की वाक्यविन्यास त्रुटि को खोजने के लिए पर्याप्त नहीं है।

14

ग्राहक बस पर कौन सा नाम पंजीकृत कर सकता है इस पर प्रतिबंध हैं। अन्यथा उपयोगकर्ता प्रक्रिया कुछ सिस्टम सेवा के लिए अनुरोध प्राप्त कर सकती है। प्रतिबंध 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> 

वाकई इन मानक विन्यास फाइल या स्थान में एक उचित कस्टम विन्यास किया हुआ है।

14

मेरे मामले में मुझे बस डीबीस सेवा को पुनरारंभ करना पड़ा।

शायद यह इसलिए था क्योंकि avahi ने एक dbus config file (/etc/dbus-1/system.d/avahi-dbus.conf) डाला था जो स्वचालित रूप से नहीं मिला था।

संबंधित मुद्दे