Saya mencari direktori LDAP yang memiliki jumlah hasil yang jauh lebih besar daripada sizelimit yang saat ini ditetapkan, 500, oleh slapd.conf yang untuk semua maksud dan tujuan tidak dapat diubah)
Gagasan saya adalah tetap menjalankan ldapsearch tetapi dari offset yang berbeda setiap kali (501, 1001, dll.) Sampai semua hasil telah diperoleh.
Saya telah melihat halaman manual untuk ldapsearch , dan tampaknya ini ditangani untuk Anda menggunakan opsi -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)
Jadi saya mencoba:
ldapsearch -h $HOST -p $PORT -x -L -b "$BASE" '*' '+' -E pr=$SIZE
Namun ketika hasil (bahkan hasil halaman dengan ukuran = 50 misalnya) mencapai 500, saya mendapatkan kesalahan yang sama seolah-olah hasilnya tidak halaman:
Size limit exceeded (4)
Saya telah melihat di halaman manual ada pilihan lain untuk virtuallistview tetapi tidak dapat menemukan contoh untuk itu, dan juga saya tidak berpikir versi ldapsearch saya memiliki opsi ini.
Tujuannya di sini adalah untuk membuat cadangan menggunakan ldapsearch dan opsi -L untuk membuat file ldif yang cocok untuk memulihkan database.
Beberapa pencarian Google muncul dengan masalah yang sama dengan yang saya alami, tetapi tidak ada yang memiliki solusi yang berlaku ..
loglevel
ke 256 untuk melihat apa yang dikatakannya.Jawaban:
Administrator server direktori bebas untuk memberlakukan batasan pada jumlah entri yang dapat dikembalikan sebagai respons terhadap permintaan pencarian. Klien LDAP dapat meminta batas ukuran, tetapi batas yang diminta klien ini tidak dapat mengesampingkan batas yang ditentukan server. Paging bekerja dengan benar: paging hanya mengirim beberapa respons pencarian, masing-masing ukuran yang diminta oleh klien, tetapi masih tidak dapat melebihi batas ukuran yang ditentukan oleh server. Tampilan daftar Virtual mirip dengan paging sederhana, kecuali bahwa klien LDAP dapat memulai dan melanjutkan di mana saja, sedangkan dalam hasil halaman sederhana, klien LDAP harus membaca hasil secara berurutan.
sumber
Bagian yang penting adalah di akhir:
-E pr=2147483647/noprompt
. Saya menerapkan ini hari ini, jadi saya tahu itu berfungsi, setidaknya dengan backend LDAP Direktori Aktif. Bagi saya, ini dapat melewati batas server.Dari contoh Anda, sepertinya Anda mungkin melewatkan / noprompt atau / prompt. Perbedaannya adalah bahwa dengan / prompt, ia berhenti di antara setiap halaman.
Saya tidak yakin mengapa angka 2147483647 berfungsi, tetapi ternyata berhasil.
Sumber saya: http://www.commandlinefu.com/commands/view/2779/bypass-1000-entry-limit-of-active-directory-with-ldapsearch
sumber
2147483647
adalah ukuran halaman. Jika Anda mengubah-E
parameter kepr=100/prompt
Anda akan melihat bahwaldapsearch
aks Anda menekan tombol setiap 100 hasil.ApacheDS dapat melakukan pencarian halaman yang Anda cari. Paling tidak terhadap Active Directory.
sumber