Menyelami aturan main direktori: tipe atribut, object classes structural, auxiliary, dan abstract, skema standar yang tersedia, serta daftar object classes dan atribut yang paling sering dipakai.

Di episode 2 kalian melihat schema sebagai salah satu konsep inti model data LDAP. Episode 3 membongkarnya: apa itu schema, bagaimana tipe atribut bekerja, tiga jenis object classes, skema standar yang sudah tersedia di OpenLDAP, dan daftar object classes serta atribut paling umum yang akan kalian pakai berulang kali. Setelah episode ini, kalian tidak akan lagi menebak-nebak apakah sebuah entry valid — schema yang menentukan semuanya.
Schema adalah aturan main direktori. Sebelum sebuah entry bisa hidup di DIT, ia harus lolos verifikasi schema. Empat komponen utamanya:
Atribut punya sifat-sifat yang menentukan bagaimana ia dipakai:
mail boleh punya banyak nilai, sementara uidNumber hanya satu.creatorsName dan modifyTimestamp.mail;lang=id atau penanda ;binary.Untuk mengenal sintaks dan aturan sebuah atribut, kalian bisa membacanya dari definisi di file schema:
attributetype ( 2.5.4.3
NAME 'cn'
DESC 'RFC4519: common name'
SUP name
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
SINGLE-VALUE )Definisi di atas menampilkan cn sebagai atribut yang dibandingkan dengan matching rule caseIgnoreMatch, memakai sintaks string, dan single-value. Inilah bentuk nyata dari komponen-komponen schema yang barusan dijelaskan.
Tiap entry punya satu atau lebih object classes yang menentukan bentuknya. Tiga jenis utama:
inetOrgPerson atau organizationalUnit.posixAccount yang menambahkan uidNumber dan gidNumber.top.Object classes mendukung pewarisan: sebuah class mewarisi atribut dari parent-nya. Karena itu person mewarisi dari top, organizationalPerson mewarisi dari person, dan inetOrgPerson mewarisi dari organizationalPerson.
Agar tidak tertukar, mari bandingkan langsung:
| Aspek | Object Classes | Atribut |
|---|---|---|
| Sifat | Jenis entry | Properti entry |
| Contoh | inetOrgPerson, organizationalUnit | cn, sn, mail |
| Ditulis di entry | Sebagai objectClass | Sebagai pasangan nama: nilai |
| Peran schema | Menentukan MUST dan MAY | Menyimpan nilai |
| Penambahan | Object class baru harus didefinisikan | Atribut baru harus didefinisikan |
Intinya: object class menentukan aturan, atribut menyimpan nilai. Sebuah entry bisa punya banyak object classes, tetapi hanya satu structural — sisanya auxiliary.
OpenLDAP sudah dikemas dengan skema standar di direktori /etc/ldap/schema/:
| File schema | Isi |
|---|---|
core.schema | Tipe dasar: top, person, organizationalUnit, atribut cn, sn |
cosine.schema | Objek dan atribut COSINE/Internet X.500 |
inetorgperson.schema | Informasi person modern: mail, telephoneNumber |
nis.schema | Atribut NIS/YP: uidNumber, gidNumber, homeDirectory |
ppolicy.schema | Password policies |
misc.schema | Koleksi atribut beragam |
Masing-masing file bisa dimuat ke dalam konfigurasi cn=config saat server aktif — cara memuatnya akan kalian pelajari di episode 10.
Beberapa object class yang paling sering kalian temui:
cn dan sn.mail, telephoneNumber, dan atribut RFC 2798.uidNumber, gidNumber, homeDirectory, loginShell.member dengan DN.Melengkapi object classes, berikut atribut yang paling sering dipakai:
Pola umum akun Linux di LDAP menggabungkan inetOrgPerson (structural) dan posixAccount (auxiliary), sehingga satu entry bisa berisi uid, cn, sn, mail, uidNumber, gidNumber, dan homeDirectory sekaligus. Pola inilah yang menjadi fondasi LDAP sebagai backend autentikasi.
Episode 3 menjelaskan aturan main direktori: schema sebagai penegak aturan, tipe atribut dengan sintaks dan matching rules, tiga jenis object classes dengan sistem pewarisan, skema standar bawaan OpenLDAP, serta katalog object classes dan atribut yang akan menemani praktik kalian di episode selanjutnya.
Inti yang harus dibawa pulang:
posixAccount menghubungkan LDAP dengan dunia Unix.caseIgnoreMatch membuat nilai atribut tidak peka huruf besar-kecil./etc/ldap/schema/.Di episode 4 berikutnya, kalian mempelajari alamat setiap entry: Distinguished Names — bagaimana DN tersusun dari RDN, bagaimana komponen-komponennya dipakai, dan bagaimana DN diterjemahkan ke dalam LDAP URL.