09 Temmuz 2009 ~ 0 Comments

OpenLDAP Nedir? Ne Değildir?

OpenLDAP,  LDAP (Lightweight Directory Access Protocol) ‘ın OpenLDAP Project tarafından geliştirilmiş bir uygulamasıdır. OpenLDAP Kamu Lisansı olarak bilinen BSD-türevi bir lisans kullanmaktadır. Platform bağımsız bir protokoldür. Kullanımda olan bir çok  Linux dağıtımı, LDAP desteği için OpenLDAP yazılımını barındırır. OpenLDAP, BSD dışında , AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows and z/OS gibi sistemlerde de çalışabilir.

Proje gelişimi ve çekirdek kadro

OpenLDAP projes, Kurt Zeilenga tarafından 1998 yılında başlatıldı. Proje, University Of Michigan ‘ın yayınladığı LDAP referans kaynağını kullanılarak başladı. Proje geliştikçe, LDAP protokolünün gelişimi ve evrimine de katkısı oldu.

2006 Nisan  ‘ında çekirdek takımı 3 kişiden oluşuyordu;

  • Howard Chu (Chief Architect)
  • Pierangelo Masarati
  • and Kurt Zeilenga.

Daha sonra, Luke Howard, Hallvard Furuseth, Quanah Gibson-Mount, and Gavin Henry gibi birçok geliştirici ve gönüllü projeye katıldı.

OpenLdap Bileşenleri

Openldap 3 ana bileşene sahiptir;

  • slapd
  • LDAP kütüphaneleri
  • İstemci yazılımı: ldapsearch, ldapadd, ldapdelete vb…

Ek olarak bir çok yardımcı projeye sahiptir.

  • JLDAP – LDAP : Java için sınıf kütüphaneleri
  • JDBC-LDAP – Java JDBC – LDAP köprü sürücüsü
  • ldapc++ – LDAP C++ sınıf kütüphaneleri

Arkaplan

Genel kavram

Tarihsel olarak OpenLDAP server mimarisi ikiye ayrılır. Ağ erişimi ve protokolün işlenmesinden oluşan bir “önplan” ve tam anlamıyla bir veri depolama ile ilgilenen “arkaplan”. Bu mimari, modülerlik, değişik arkaplanlar ve arayüz hazırlamaya imkan tanır.

Kullanılabilir arkaplanlar

Openldap ta standart olarak 16 farklı arkaplan sağlanmıştır. Ve bağımsız olarak geliştirilen üçüncü parti arkaplanlar olduğu bilinmektedir. Kategorilenmiş olarak aşağıdaki gibidir.

  • Veri deoplama arkaplanları
    • back-bdb: Berkeley üniversitesi tarafından geliştirilmiş ilk arkaplandır.
    • back-hdb: subtree renames desteği getirilmiş halidir.
    • back-ldif: LDIF dosyaları üstüne inşa edilmiştir.
    • back-ndb: MYSQL’in NDB cluster engine üstüne yapılmıştır.
  • Proxy arkaplanları
    • back-ldap: diğer LDAP sunucular için temel proxy
    • back-meta: meta-directory özellikli proxy
    • back-passwd: Unix sistemlerinin passwd ve gurup verileri için kullanılan proxy
    • back-relay: diğer slapd arkaplanlarına yönlendirme
    • back-sql: SQL veritabanları için
  • Dinamik arkaplanlar -
    • back-config: LDAP üzerinden slapd düzeni
    • back-dnssrv: DNS üzerinde LDAP sunucuları yerleştirme
    • back-monitor: LDAP üzerinden slapd iştatistikleri
    • back-null: Unix /dev/null analizi
    • back-perl: LDAP isteklerinde peel başvurusu
    • back-shell: LDAP isteklerine Shell betikleri başvurusu
    • back-sock: LDAP isteklerin IPC ‘ye yönlendirme

back-perl, back-tcl, back-ldbm gibi bağzı arkaplanlar şu anda kullanımda olmayan openldap versyonlarındada çalışabilmektedir.

Pratikte -perl, -shell, and –sock gibi arkaplanlar, kabiliyete bağlı olarak  diğer programlama dillerine arayüz sağlayabilir.

YERLEŞİM

Yerleşim anlayışı

Normalde bir LDAP isteği önplandan alınır ve çözümlenir. Ardından işleme için arkaplana iletilir. Arkaplanda istek tamamlandığında sonuç önplana veya istemciye iletilir. Önplan ile arkaplan arasına bir takım kodlar sıkıştırılmıştır. Buda kesmelere ve tetiklemelere cevap vermeye olanak tanır.

Kullanılabilir yerleşimler

Openldap ‘ta öntanımlı olarak 20 tane yerleşim vardır. Ayrıca katkıcıların geliştirdiği 10 tane daha katkı yerleşimi vardır.

Çekirdeğe eklenmiş öntanımlı yerleşimler:

  • accesslog: LDAP veritabanındaki log sunucusu aktivitesi
  • auditlog: flat metin dosyası üstündeki log sunucusu aktivitesi
  • chain: belirsizliği zincirleyip önleme
  • collect: X.500 gerçekleştirimi
  • constraint: değer kısıtlama
  • dds: dinamik veri servisi
  • deref: girdiler hakkında bilgi
  • dyngroup: basit dinamik grup desteği
  • dynlist: daha karışık dinamik grup desteği
  • memberof: aynı özellikliler grubu desteği
  • pcache: önbelleğe alınmış sorgu sonuçları
  • ppolicy: LDAP parola kuralları
  • refint: başvursal bütünlük
  • retcode: önceden belirlenmiş çeşitli görevler tanımlama
  • rwm: LDAP verileri için yeni yazım
  • seqmod: girdiler için serileştirme
  • syncprov: Syncrepl sağlayıcı
  • translucent: yarı transparan veri arttırımı
  • unique: verileri benzersizleştirme
  • valsort: özellikler için sıralama

Katkıcılardan gelen yerleşimler:

  • addpartial: istek ekleme ve ayarlama
  • allop: tüm özellikleri geri döndürme
  • autogroup: sabit grupları dinamik yönetme
  • denyop: ayarlanmış isteklerin iptali
  • lastmod: en son ayarlanmış duruma alma
  • nops: gereksiz ayarları filtreleme
  • nssov: slapd ‘den direk olarak NSS isteklerine cevap verme
  • proxyOld: kesin kodlama desteği
  • smbk5pwd: Samba ve Kerberos parola korunumu
  • trace: Tüm LDAP istek ve tepkilerini kayıtlama

Openldap, aynı zamanda Sun and Netscape/Fedora/RedHat mimarisini kullanan SLAPI ‘ yi de desteklemektedir.

Tags: , ,

Leave a Reply