OpenLDAP

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 ve z/OS gibi sistemlerde de çalışabilir.
Proje Gelişimi ve Çekirdek Kadro
OpenLDAP projesi, 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
Arka plan
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 arka plan. Bu mimari, modülerlik, değişik arka planlar ve arayüz hazırlamaya imkan tanır.
Kullanılabilir Arka planlar
Openldap ta standart olarak 16 farklı arka plan sağlanmıştır. Ve bağımsız olarak geliştirilen üçüncü parti arka planlar olduğu bilinmektedir. Kategorilenmiş olarak aşağıdaki gibidir.
Veri deoplama arka planları;
back-bdb: Berkeley üniversitesi tarafından geliştirilmiş ilk arka plandır.
back-hdb: subtree renames desteği getirilmiş halidir.
back-ldif: LDIF dosyaları üstüne inşa edilmiştir.
back-ndb: MYSQLin NDB cluster engine üstüne yapılmıştır.
Proxy arka planları;
back-ldap: diğer LDAP sunucular için temel proxy
back-meta: meta-directory özellikli proxy
back-passwd: Unix sistemlerinin passwd ve grup verileri için kullanılan proxy
back-relay: diğer slapd arka planlarına yönlendirme
back-sql: SQL veritabanları için
Dinamik arka planlar;
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 bazı arka planlar şu anda kullanımda olmayan openldap versyonlarındada çalışabilmektedir.
Pratikte -perl, -shell, and sock gibi arka planlar, kabiliyete bağlı olarak diğer programlama dillerine arayüz sağlayabilir.
Yerleşim
Yerleşim Anlayışı
Normalde bir LDAP isteği önplandan alınır ve çözümlenir. Ardından işleme için arka plana iletilir. Arka planda istek tamamlandığında sonuç önplana veya istemciye iletilir. Önplan ile arka plan arasına bir takım kodlar sıkıştırılmıştır. Bu da 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 direkt 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.