Ldapsearch का उपयोग करके पेजिंग


14

मैं एक LDAP निर्देशिका की खोज कर रहा हूँ, जिसमें sizelimit की तुलना में बहुत अधिक संख्या में परिणाम हैं, वर्तमान में 500, slapd.conf द्वारा कि सभी इरादों और उद्देश्यों को नहीं बदला जा सकता है)

मेरा विचार था कि सभी परिणाम प्राप्त होने तक प्रत्येक बार (501, 1001, इत्यादि) अलग-अलग ऑफसेट से चलते रहें।

मैंने मैन पेज को ldapsearch के लिए देखा है , और ऐसा प्रतीत होता है कि यह आपके लिए -E विकल्पों का उपयोग करके नियंत्रित किया गया है:

-E [!]<ext>[=<extparam>] search extensions (! indicates criticality)
         [!]domainScope              (domain scope)
         [!]mv=<filter>              (matched values filter)
         [!]pr=<size>[/prompt|noprompt]   (paged results/prompt)
         [!]subentries[=true|false]  (subentries)
         [!]sync=ro[/<cookie>]            (LDAP Sync refreshOnly)
                 rp[/<cookie>][/<slimit>] (LDAP Sync refreshAndPersist)

तो मैंने कोशिश की: ldapsearch -h $HOST -p $PORT -x -L -b "$BASE" '*' '+' -E pr=$SIZE

हालाँकि जब परिणाम (आकार के साथ परिणाम भी = 50 उदाहरण के लिए) 500 मारा, तो मुझे वही त्रुटि मिलती है जैसे कि परिणाम जारी नहीं किए गए थे:

Size limit exceeded (4)

मैंने मैन पेजों में देखा है कि गुणसूत्रवाद के लिए एक और विकल्प है, लेकिन इसके लिए उदाहरण खोजने में असमर्थ रहे हैं, और साथ ही मुझे नहीं लगता कि मेरे संस्करण के ldapsearch में यह विकल्प है।

यहाँ लक्ष्य ldapsearch और -L विकल्प का उपयोग करके एक बैकअप बनाने के लिए एक ldif फ़ाइल है जो डेटाबेस को पुनर्स्थापित करने के लिए उपयुक्त है।

कुछ Google खोज उसी समस्या के साथ दिखते हैं जो मुझे हो रही है, लेकिन किसी के पास कोई समाधान नहीं है ..


मैं आपको सुझाव दूंगा कि आप loglevel256 को देखें कि वह क्या कहता है।
क्वांटा

मेरे पास slapd.conf फ़ाइल तक सीधी पहुंच नहीं है, और मुझे पता है कि समस्या क्या है इसलिए अधिक वर्बोज़ लॉग का अधिक उपयोग नहीं होगा।
स्टेव-ग्रेगरी 19

एथन के जवाब में, 2147483647 2 ^ 32, या 0b111111111111111111111111111111111 है। यह एक 32-बिट हस्ताक्षरित इंट के लिए अधिकतम है। यह अधिकतम स्वीकार्य आकार सीमा है।
जल्द

2147483647 = 2 ^ 31-1
शॉन

जवाबों:


8

निर्देशिका सर्वर व्यवस्थापक उन प्रविष्टियों की संख्या पर एक सीमा लगाने के लिए स्वतंत्र है, जिन्हें खोज अनुरोध के जवाब में वापस किया जा सकता है। LDAP क्लाइंट आकार सीमा का अनुरोध कर सकता है, लेकिन क्लाइंट द्वारा अनुरोध की गई यह सीमा सर्वर द्वारा लगाई गई सीमा को ओवरराइड नहीं कर सकती है। पेजिंग सही ढंग से काम कर रही है: पेजिंग बस कई खोज प्रतिक्रियाएं भेजता है, प्रत्येक ग्राहक द्वारा अनुरोधित आकार, लेकिन फिर भी सर्वर द्वारा लगाए गए आकार की सीमा से अधिक नहीं हो सकता है। वर्चुअल सूची दृश्य सरल पेजिंग के समान है, सिवाय इसके कि एलडीएपी क्लाइंट कहीं भी शुरू और फिर से शुरू कर सकता है, जबकि सरल पृष्ठांकित परिणामों में, एलडीएपी क्लाइंट को क्रमिक रूप से परिणामों के माध्यम से पढ़ना चाहिए।


10
ldapsearch -LLL  -x -h $LDAPHOST -b"dc=whatever" -D${LDAPUSER} -w"${LDAPPASW}" objectclass=* -E pr=2147483647/noprompt

महत्वपूर्ण हिस्सा अंत में है -E pr=2147483647/noprompt:। मैंने इसे आज लागू किया है, इसलिए मुझे पता है कि यह काम करता है, कम से कम सक्रिय निर्देशिका के एलडीएपी बैकएंड के साथ। मेरे लिए, यह सर्वर सीमाओं को बायपास करने में सक्षम था।

आपके उदाहरण से, ऐसा लगता है कि आप एक / noprompt या / प्रॉम्प्ट याद कर रहे हैं। अंतर यह है कि / प्रांप्ट के साथ, यह प्रत्येक पृष्ठ के बीच रुक जाता है।

मुझे यकीन नहीं है कि 2147483647 नंबर क्यों काम करता है, लेकिन यह करता है।

मेरा स्रोत: http://www.commandlinefu.com/commands/view/2779/bypass-1000-entry-limit-of-active-directory-with-ldapsearch


3
संख्या 2147483647पृष्ठ का आकार है। यदि आप -Eपैरामीटर बदलते हैं, तो आप pr=100/promptदेखेंगे कि ldapsearchप्रत्येक 100 परिणामों के लिए आप एक कुंजी दबाएंगे।
RPET

यह काम करता है !!!!
साहेब

सक्रिय निर्देशिका मेरे अनुभव में असामान्य है कि यह पृष्ठांकित खोजों को सर्वर कॉन्फ़िगर आकार सीमा से अधिक है। हालाँकि, यह खोजों पर पृष्ठांकित आकार सीमा को लागू करेगा। क्योंकि आपने ldapsearch को आपको संकेत नहीं देने के लिए कहा है, आप यह नहीं देख रहे हैं कि उस खोज के लिए वास्तव में इसका उपयोग करने वाले पृष्ठ का आकार बहुत छोटा है। यह 10 साल पहले के रूप में सन LDAP के खिलाफ काम नहीं करेगा, 8 साल पहले के रूप में OpenLDAP, या 10 मिनट पहले के रूप में 389-डीएस (यही वह है जो मैं इन दिनों घर पर चलाता हूं।)
एड ग्रिम

0

ApacheDS आपके द्वारा खोजे जा रहे पृष्ठांकित खोज कर सकते हैं। कम से कम सक्रिय निर्देशिका के खिलाफ।

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