Synopsis
ldapsearch [-n] [-c] [-u] [-v] [-t[t]] [-T_path] [-F_prefix] [-A] [-L[L[L]]] [-M[M]]
[-S_attribute] [-d_debuglevel] [-f_file] [-x] [-D_binddn] [-W] [-w_passwd] [-y_passwdfile]
[-H_ldapuri] [-h_ldaphost] [-p_ldapport] [-b_searchbase] [-s {base|one|sub|children}]
[-a {never|always|search|find}] [-P {2|3}] [-e [!]ext[=extparam]] [-E [!]ext[=extparam]]
[-l_timelimit] [-z_sizelimit] [-O_security-properties] [-I] [-Q] [-U_authcid] [-R_realm]
[-X_authzid] [-Y_mech] [-Z[Z]] filter [attrs...]
Description
ldapsearch, ldap_search_ext(3) kütüphane çağrısına kabuktan erişilebilen bir arayüzdür.
ldapsearch, bir LDAP sunucusuna bağlantı açar, bağlanır (bind) ve belirtilen parametreleri kullanarak bir arama gerçekleştirir. Filtre, RFC 4515'te tanımlanan arama filtrelerinin dize gösterimine uygun olmalıdır. Belirtilmezse, varsayılan filtre olan (objectClass=*) kullanılır.
ldapsearch bir veya daha fazla girdi bulursa, attrs tarafından belirtilen öznitelikler döndürülür. Eğer * listelenmişse, tüm kullanıcı öznitelikleri döndürülür. Eğer + listelenmişse, tüm işlemsel (operational) öznitelikler döndürülür. Hiçbir attrs belirtilmemişse, tüm kullanıcı öznitelikleri döndürülür. Yalnızca 1.1 belirtilmişse, hiçbir öznitelik döndürülmez.
Arama sonuçları, LDIF'in genişletilmiş bir sürümü kullanılarak görüntülenir. -L seçeneği çıktının biçimini kontrol eder.
Options
-n: Ne yapılacağını gösterir ancak aramayı gerçekten gerçekleştirmez. -v seçeneğiyle birlikte hata ayıklama için yararlıdır.-c: Kesintisiz çalışma modu. Hatalar rapor edilir, ancak ldapsearch aramalara devam eder. Varsayılan davranış bir hata raporladıktan sonra çıkış yapmaktır. Yalnızca -f seçeneğiyle birlikte yararlıdır.-u: Görüntülenen çıktıda Distinguished Name (DN) değerinin Kullanıcı Dostu Adı (User Friendly Name) biçimini de dahil eder.-v: Ayrıntılı (verbose) modda çalışır ve standart çıktıya birçok tanılama bilgisi yazar.-t[t]: Tek bir -t, alınan yazdırılamayan değerleri bir dizi geçici dosyaya yazar. Bu, jpegPhoto veya audio gibi karakter dışı veriler içeren değerlerle çalışırken kullanışlıdır. İkinci bir -t, alınan tüm değerleri dosyalara yazar.
-T_path Geçici dosyaları path ile belirtilen dizine yazar (varsayılan: /var/tmp/).
-F_prefix Geçici dosyalar için URL öneki. Varsayılan değer, path'in /var/tmp/ olduğu veya -T ile belirtildiği file://path biçimidir.
-A: Yalnızca öznitelikleri alır (değerleri almaz). Bu seçenek, yalnızca bir girdide belirli bir özniteliğin bulunup bulunmadığını görmek istediğinizde ve belirli değerlerle ilgilenmediğinizde kullanışlıdır.-L: Arama sonuçları, ldif(5) içinde ayrıntıları verilen LDAP Veri Değişim Biçimi'nde (LDAP Data Interchange Format) görüntülenir. Tek bir -L, çıktıyı LDIFv1 ile sınırlandırır. İkinci bir -L, yorumları devre dışı bırakır. Üçüncü bir -L, LDIF sürümünün yazdırılmasını devre dışı bırakır. Varsayılan, LDIF'in genişletilmiş bir sürümünü kullanmaktır.-M[M]: manage DSA IT kontrolünü etkinleştirir. -MM, kontrolü kritik hale getirir.
-S_attribute Döndürülen girdileri attribute özniteliğine göre sıralar. Varsayılan davranış, döndürülen girdileri sıralamamaktır. Eğer attribute sıfır uzunlukta bir dize ("") ise, girdiler Distinguished Name bileşenlerine göre sıralanır. Daha fazla ayrıntı için ldap_sort(3) kılavuzuna bakın. ldapsearch aracının normalde girdileri aldıkça yazdırdığını unutmayın. -S seçeneğinin kullanılması bu davranışı engeller, tüm girdilerin alınmasına, ardından sıralanmasına ve ardından yazdırılmasına neden olur.
-d_debuglevel LDAP hata ayıklama seviyesini debuglevel olarak ayarlar. Bu seçeneğin herhangi bir etkisinin olması için ldapsearch'ün LDAP_DEBUG tanımlı olarak derlenmiş olması gerekir.
-f_file Belirtilen file dosyasından bir dizi satır okur ve her satır için bir LDAP araması gerçekleştirir. Bu durumda, komut satırında verilen filtre, %s ifadesinin ilk ve tek geçtiği yerin file dosyasından bir satırla değiştirildiği bir kalıp olarak kabul edilir. Kalıptaki diğer % karakteri geçişleri hata olarak kabul edilecektir. Arama filtresinin bir % karakteri içermesi istendiğinde, bu karakter \25 olarak kodlanmalıdır (bkz. RFC 4515). Eğer file tek bir - karakteri ise, satırlar standart girdiden okunur. -c kullanılmadığı sürece, başarılı olmayan ilk arama sonucu döndürüldüğünde ldapsearch çıkış yapacaktır.
-x: SASL yerine basit kimlik doğrulama (simple authentication) kullanır.
-D_binddn LDAP dizinine bağlanmak için Distinguished Name binddn değerini kullanır. SASL bağlantıları için sunucunun bu değeri yoksayması beklenir.
-W: Basit kimlik doğrulama için parola sorar. Bu seçenek, parolayı komut satırında açıkça belirtmek yerine kullanılır.
-w_passwd Basit kimlik doğrulama için parola olarak passwd değerini kullanır.
-y_passwdfile Basit kimlik doğrulama için parola olarak passwdfile dosyasının tüm içeriğini kullanır.
-H_ldapuri LDAP sunucu(lar)ına başvuran URI'leri belirtir; boşluk veya virgülle ayrılmış bir URI listesi beklenir; yalnızca protokol/host/port alanlarına izin verilir. İstisna olarak, host/port belirtilmemişse ancak bir DN belirtilmişse, DN değeri RFC 2782'ye göre DNS SRV kayıtlarını kullanarak ilgili host(lar)ı aramak için kullanılır. DN, öznitelik türü "dc" (alan adı bileşeni - domain component) olan boş olmayan bir AVA dizisi olmalı ve RFC 2396'ya göre kaçış karakterleri içeriyor olmalıdır.
-h_ldaphost LDAP sunucusunun çalıştığı alternatif bir ana bilgisayarı (host) belirtir. -H lehine kullanımı sonlandırılmıştır (deprecated).
-p_ldapport LDAP sunucusunun dinlediği alternatif bir TCP portunu belirtir. -H lehine kullanımı sonlandırılmıştır (deprecated).
-b_searchbase Varsayılan arama tabanı yerine arama için başlangıç noktası olarak searchbase değerini kullanır.
-s {base|one|sub|children} Aramanın kapsamını (scope); bir temel nesne (base object), tek seviyeli (one-level), alt ağaç (subtree) veya alt ögeler (children) aramasını belirtmek için base, one, sub veya children değerlerinden biri olarak ayarlar. Varsayılan değer sub'dır. Not: children kapsamı, LDAPv3 subordinate özellik uzantısını gerektirir.
-a {never|always|search|find} Takma adların (aliases) yönlendirmesinin (dereferencing) nasıl yapılacağını belirtir. Takma adların asla yönlendirilmemesini, her zaman yönlendirilmesini, arama yaparken yönlendirilmesini veya yalnızca arama için temel nesneyi bulurken yönlendirilmesini belirtmek üzere never, always, search veya find değerlerinden biri olmalıdır. Varsayılan davranış, takma adları asla yönlendirmemektir.
-P {2|3} Kullanılacak LDAP protokol sürümünü belirtir.
-e [!]ext[=extparam]
-E [!]ext[=extparam]
-e ile genel uzantıları ve -E ile arama uzantılarını belirtir. '!' işareti kritikliği (criticality) gösterir.
Genel uzantılar:
[!]assert=
Arama uzantıları:
[!]domainScope (alan adı kapsamı - domain scope)
[!]mv=
-l_timelimit Bir aramanın tamamlanması için en fazla timelimit saniye bekler. timelimit değerinin 0 (sıfır) veya none olması sınır olmadığı anlamına gelir. timelimit değerinin max olması, protokol tarafından izin verilen maksimum tamsayı anlamına gelir. Bir sunucu, yalnızca root kullanıcısının geçersiz kılabileceği maksimum bir zaman sınırı uygulayabilir.
-z_sizelimit Bir arama için en fazla sizelimit girdi alır. sizelimit değerinin 0 (sıfır) veya none olması sınır olmadığı anlamına gelir. sizelimit değerinin max olması, protokol tarafından izin verilen maksimum tamsayı anlamına gelir. Bir sunucu, yalnızca root kullanıcısının geçersiz kılabileceği maksimum bir boyut sınırı uygulayabilir.
-O_security-properties SASL güvenlik özelliklerini belirtir.
-I: SASL Etkileşimli (Interactive) modu etkinleştirir. Her zaman girdi istenir (prompt). Varsayılan davranış yalnızca gerektiğinde istemde bulunmaktır.-Q: SASL Sessiz (Quiet) modu etkinleştirir. Asla girdi istemez.
-U_authcid SASL bağlantısı için kimlik doğrulama kimliğini (authentication ID) belirtir. Kimliğin biçimi, kullanılan gerçek SASL mekanizmasına bağlıdır.
-R_realm SASL bağlantısı için kimlik doğrulama kimliğinin bölgesini (realm) belirtir. Bölgenin biçimi, kullanılan gerçek SASL mekanizmasına bağlıdır.
-X_authzid
SASL bağlantısı için talep edilen yetkilendirme kimliğini (authorization ID) belirtir. authzid aşağıdaki biçimlerden biri olmalıdır: dn:
-Y_mech Kimlik doğrulama için kullanılacak SASL mekanizmasını belirtir. Belirtilmezse, program sunucunun bildiği en iyi mekanizmayı seçecektir.
-Z[Z]: StartTLS (Transport Layer Security) genişletilmiş işlemini yayınlar. -ZZ kullanırsanız, komut işlemin başarılı olmasını zorunlu kılacaktır.
Output Format
Bir veya daha fazla girdi bulunursa, her girdi standart çıktıya LDAP Veri Değişim Biçimi'nde veya ldif(5) biçiminde yazılır:
version: 1
bjensen, example, net
dn: uid=bjensen,dc=example,dc=net objectClass: person objectClass: dcObject uid: bjensen cn: Barbara Jensen sn: Jensen ...
-t seçeneği kullanılırsa, gerçek değer yerine geçici bir dosyanın URI'si kullanılır. -A seçeneği verilirse, yalnızca "attributename" kısmı yazılır.
Example
Aşağıdaki komut:
ldapsearch -LLL "(sn=smith)" cn sn telephoneNumber
soyadı (sn) smith olan girdiler için (varsayılan arama tabanını ve ldap.conf(5) içinde tanımlanan diğer parametreleri kullanarak) bir alt ağaç (subtree) araması gerçekleştirecektir. Ortak ad (cn), soyadı (sn) ve telephoneNumber değerleri alınacak ve standart çıktıya yazdırılacaktır. İki girdi bulunursa çıktı şuna benzer görünebilir:
dn: uid=jts,dc=example,dc=com cn: John Smith cn: John T. Smith sn: Smith sn;lang-en: Smith sn;lang-de: Schmidt telephoneNumber: 1 555 123-4567
dn: uid=sss,dc=example,dc=com cn: Steve Smith cn: Steve S. Smith sn: Smith sn;lang-en: Smith sn;lang-de: Schmidt telephoneNumber: 1 555 765-4321
Şu komut:
ldapsearch -LLL -u -t "(uid=xyz)" jpegPhoto audio
kullanıcı kimliği "xyz" olan girdiler için varsayılan arama tabanını kullanarak bir alt ağaç araması gerçekleştirecektir. Girdinin DN'sinin kullanıcı dostu biçimi, DN'nin kendisini içeren satırdan sonra çıktı olarak verilecek ve jpegPhoto ile audio değerleri alınarak geçici dosyalara yazılacaktır. İstenen özniteliklerin her biri için bir değere sahip bir girdi bulunursa çıktı şuna benzer görünebilir:
dn: uid=xyz,dc=example,dc=com ufn: xyz, example, com audio:< file:///tmp/ldapsearch-audio-a19924 jpegPhoto:< file:///tmp/ldapsearch-jpegPhoto-a19924
Şu komut:
ldapsearch -LLL -s one -b "c=US" "(o=University*)" o description
c=US düzeyinde, kuruluş adı (o) University ile başlayan tüm girdiler için tek düzeyli (one-level) bir arama gerçekleştirecektir. Kuruluş adı ve açıklama öznitelik değerleri alınacak ve standart çıktıya yazdırılacaktır, bu da şuna benzer bir çıktı ile sonuçlanır:
dn: o=University of Alaska Fairbanks,c=US o: University of Alaska Fairbanks description: Preparing Alaska for a brave new yesterday description: leaf node only
dn: o=University of Colorado at Boulder,c=US o: University of Colorado at Boulder description: No personnel information description: Institution of education and research
dn: o=University of Colorado at Denver,c=US o: University of Colorado at Denver o: UCD o: CU/Denver o: CU-Denver description: Institute for Higher Learning and Research
dn: o=University of Florida,c=US o: University of Florida o: UFl description: Warper of young minds
...
Diagnostics
Herhangi bir hata oluşmazsa çıkış durumu sıfırdır. Hatalar, sıfır olmayan bir çıkış durumuyla sonuçlanır ve standart hataya bir tanılama mesajı yazılır.
See Also
ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldap.conf(5), ldif(5), ldap(3), ldap_search_ext(3), ldap_sort(3)
Author
The OpenLDAP Project http://www.openldap.org/
Acknowledgements
OpenLDAP Software, The OpenLDAP Project http://www.openldap.org/ tarafından geliştirilmekte ve sürdürülmektedir. OpenLDAP Software, University of Michigan LDAP 3.3 Release sürümünden türetilmiştir.
OpenLDAP 2.4.28 2011/11/24 LDAPSEARCH(1)