ldap_modify: अपर्याप्त पहुंच (50)


9

मैं एक OpenLDAP 2.4 सर्वर चला रहा हूं जो संचार के लिए एसएसएल सेवा का उपयोग करता है। यह लुकअप के लिए काम करता है।

मैं मिरर मोड प्रतिकृति जोड़ने की कोशिश कर रहा हूं।

तो यह कमांड है जिसे मैं निष्पादित कर रहा हूं:

ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif

जहाँ यह मेरा server_id.ldif है:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2

और यह मेरे cn \ = config.ldif पाठ फ़ाइलों के slapd.d ट्री में है:

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z

लेकिन दुर्भाग्य से मुझे यह मिल रहा है:

Enter LDAP Password: 
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

अगर मैं इसे प्राप्त करने के लिए कॉन्फ़िगर डेटाबेस को निर्दिष्ट करने का प्रयास करता हूं:

ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)}

क्या किसी को पता है कि मैं कॉन्फ़िगर डेटाबेस में सर्वरआईडी कैसे जोड़ सकता हूं ताकि मैं मिरर मोड के सेटअप को पूरा कर सकूं?

जवाबों:


10

टिन पर ठीक यही कहते हैं। आपके डीएन के cn=myuser,dc=mydomain,dc=comपास cn=configपेड़ को संशोधित करने के लिए पर्याप्त अनुमति नहीं है । और जब आप "कॉन्फ़िगर डेटाबेस को निर्दिष्ट करने के लिए" कोशिश कर रहे हैं, तो आप एक पूरी तरह से अलग डीएन का उपयोग कर रहे हैं cn=myuser,cn=config, जो स्पष्ट रूप से मौजूद नहीं है या आप गलत पासवर्ड का उपयोग कर रहे हैं।

इस तरह के संशोधन करने के लिए आपको विभिन्न डेटाबेस को संशोधित करने के लिए पर्याप्त विशेषाधिकार प्राप्त एक खाते के साथ काम करने की आवश्यकता है। "व्यवस्थापक" खाता, यानी एक खाता जिसमें हमेशा सभी विशेषाधिकार होते हैं, विशेषता में निर्दिष्ट होता है olcRootDNऔर इसका पासवर्ड इसमें पाया जाता है olcRootPW। के लिए cn=configडेटाबेस उन विशेषताओं में पाए जाते हैं olcDatabase={0}config,cn=configआमतौर पर प्रकार HDB की, और "नियमित" डेटाबेस के लिए, में olcDatabase={1}hdb,cn=config

आपने किस ट्यूटोरियल या प्रलेखन का पालन किया? ऐसा नहीं लगता है कि आप पूरी तरह से समझते हैं कि आप यहाँ क्या कर रहे हैं।


हम्म, मैं पहले से ही olcRootDN खाते का उपयोग कर रहा हूं। -D "cn = myuser, dc = mydomain, dc = com" मेरा प्रतिस्थापन है "cn = Manager, dc = example, dc = com" ... मैंने सुरक्षा उद्देश्यों के लिए प्रबंधक को myuser से बदल दिया। मुझे उम्मीद थी कि यह काम करेगा। मुझे लगता है कि मुझे डेटाबेस से उच्च स्तर पर सर्वरआईडी को निर्दिष्ट करने की आवश्यकता है, ... थप्पड़ के आधार विन्यास पर ही, जो मुझे cn = config.ldif में होने की उम्मीद है, olcDatabase \ _ \ {1 \ "में नहीं hdb.ldif जहां किसी को olcRootDN मिलता है।
लिन ओवेन्स

यदि आपको "अपर्याप्त पहुंच" मिलती है, तो आप उस व्यवस्थापक उपयोगकर्ता का उपयोग नहीं कर रहे हैं जो कॉन्फ़िगर किया गया है ( olcRootDNऔर) olcRootPW। उस उपयोगकर्ता के पास हमेशा सब कुछ तक पहुंच होती है, परिभाषा के अनुसार। फिर से, सलाह दी जाती है कि विभिन्न डेटाबेस के अलग-अलग व्यवस्थापक उपयोगकर्ता हैं। के लिए cn=configपेड़ के नीचे निर्दिष्ट एक का उपयोग करें olcDatabase={0}config,cn=config। और नहीं, olcServerIDगुण कर में संबंधित cn=configडीएन। यह वह जगह है जहाँ मैं उन्हें भी।
daff

धन्यवाद Daff, कि यह था। मैं इस तथ्य से अनभिज्ञ था कि कॉन्फ़िगरेशन डेटाबेस {0} डेटाबेस था। वहाँ वास्तव में एक व्यवस्थापक उपयोगकर्ता था। मैंने इसे एक पासवर्ड दिया और मेरे संशोधन बिना किसी समस्या के हो गए। :)
लिन ओवंस

मुझे यह जानने में दिलचस्पी होगी कि आप किस ट्यूटोरियल या दस्तावेज़ीकरण की सिफारिश करेंगे जिससे आप जल्दी से ldap से परिचित हो सकें। क्योंकि यह मेरे लिए स्पष्ट है कि मुझे बिल्कुल पता नहीं है कि मैं क्या कर रहा हूं ..
आलसी कोडर

1
@ TheLazyCoder आधिकारिक दस्तावेज व्यापक है लेकिन नौसिखियों के लिए बहुत सुलभ नहीं है। उबंटू OpenLDAP डॉक्स बेहतर समय के साथ मिल गया है और अभी शुरुआत के लिए काफी अच्छा हो सकता है। इसके अलावा मैंने पैकट द्वारा प्रकाशित मैट बुचर की पुस्तक "मास्टेरिंग ओपनएलडीएपी" से काफी कुछ सीखा है। आप वहां से शुरू करना चाह सकते हैं, भले ही यह अब थोड़ा सा हो।
daff

7

जैसा कि मुझे काफी समस्या थी, मैंने दिलचस्प समाधान की कोशिश की लेकिन कोई फायदा नहीं हुआ। लिन ओवेन्स के विपरीत मैं व्यवस्थापक में पासवर्ड जोड़ने में विफल रहा olcDatabase={0}config,cn=config। मैं आखिरकार अपने cn=configकमांड का उपयोग करके संशोधित करने में कामयाब रहा जैसे:

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif

यह काम करता है, विशेष रूप से "-Y EXTERNAL -H ldapi: ///", क्योंकि cn = admin, dc = ... जो कि शुरू में बनाया गया है, इन निचले स्तर के संशोधनों को बनाने के लिए उपयोग नहीं है।
naisanza

2
यदि यह पहली कोशिश पर काम नहीं करता है, तो याद रखें sudoआपका मित्र है
ratskin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.