Setup openldap dasar menggunakan konfigurasi slapd.d

14

Saya mencoba untuk membuat server uji openldap, setelah tidak bekerja dengan openldap sebelumnya. Saya menggunakan paket openldap-server standar pada mesin berbasis redhat (menggunakan Oracle Linux). Saya telah menginstal paket, dan memulai server.

Saya sekarang tidak tahu bagaimana cara benar-benar membuat server melakukan sesuatu yang bermanfaat; Saya tidak dapat menjelajahinya menggunakan luma ('Tidak ada objek seperti itu' ketika mencoba mengakses entri tingkat atas), dokumen openldap tumpul tentang bagaimana Anda sebenarnya mendapatkan server ke konfigurasi kerja dasar, dan semua informasi online untuk file slapd.conf lama dan bukan slapd.d baru dan cn = config.

Bagaimana cara saya mendapatkan instalasi openldap paket vanilla yang berfungsi di mana saya dapat menjelajah ke root dn in luma?

thecoop
sumber

Jawaban:

20

Aku merasakan sakitmu.

Coba ini (ini diuji pada Scientific Linux 6.5, jadi itu juga bisa digunakan pada OL):

  • Instal server OpenLDAP: yum install openldap-servers openldap-clients)
  • mulai slapd: service slapd start(dan mungkin chkconfig slapd on)
  • Buat kata sandi untuk cn=configdan pengguna admin LDAP normal Anda slappasswd. Perhatikan output dari ini.
  • Buat file LDIF dengan konten berikut:
dn: olcDatabase = {0} config, cn = config
changetype: modifikasi
tambahkan: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj

dn: olcDatabase = {2} bdb, cn = config
changetype: modifikasi
tambahkan: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj
-
ganti: olcRootDN
olcRootDN: cn = admin, dc = Anda, dc = basis, dc = com
-
ganti: olcSuffix
olcSuffix: dc = your, dc = base, dc = com
  • Nilai untuk olcRootPWharus diganti dengan output yang slappaswdAnda sebutkan sebelumnya.
  • Secara alami, olcSuffixdan olcRootDNharus disesuaikan dengan DN pangkalan baru Anda.
  • Berikan semua ini ke server LDAP dengan perintah berikut:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Setuju itu, Anda harus dapat terhubung ke keduanya cn=configdan dc=your,dc=base,dc=commelalui LDAP.

Sven
sumber
7
Terima kasih, ini seperti mimpi buruk bagi pemula. Ada konfigurasi, tetapi di baris pertama slap.d / * - JANGAN EDIT, sementara semua howto / persiapan / panduan memberitahu tentang "buka konfigurasi di editor favorit Anda"
fghj
9

Sebelum Anda memulai server OpenLDAP, Anda perlu mengatur beberapa hal terlebih dahulu.

Konfigurasi dasar

Anda perlu mengatur pengguna root dan kata sandi, bersama dengan mendefinisikan DN dasar Anda. Di slapd.conf, cari garis mengikuti garis, dan atur ke nilai yang Anda inginkan.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Biasanya DN dasar Anda (didefinisikan suffixdalam file) adalah komponen dari nama domain Anda, dipisahkan dengan koma dan diawali dengan dc=. Jadi, serverfault.combisa jadi dc=serverfault,dc=com. Anda rootdnharus berada di bawah suffix itu.

Anda juga perlu mengubah baris yang mendefinisikan kata sandi root. Anda bisa mengaturnya ke nilai plaintext, atau gunakan slappasswduntuk membuat hash. Anda kemudian harus meletakkan nilai plaintext atau nilai hash dari slappasswddalam baris yang terlihat seperti ini:

rootpw myultrasecurepassword

Skema

Ini adalah ide yang baik pada titik ini untuk mulai memikirkan skema yang ingin Anda gunakan. Skema mendefinisikan atribut yang bisa dimiliki objek, jadi Anda harus menyertakan skema yang berisi atribut yang Anda butuhkan. Skema ini termasuk di bagian atas slapd.conf, dan yang di sini biasanya skema dasar absolut yang Anda butuhkan:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Jalur ini adalah yang digunakan di Arch Linux, jadi Anda mungkin perlu menyesuaikannya agar sesuai dengan Oracle Linux.

Tentang slapd.confvsslapd.d

OpenLDAP telah beralih dari konfigurasi offline (selesai slapd.conf) ke konfigurasi online, menyimpan data dalam cn=configpohon khusus yang ditemukan di slapd.d. Memodifikasi ldiffile dalam slapd.dadalah proses yang menyakitkan, sehingga jauh lebih mudah untuk mengedit slapd.confseperti di atas, kemudian mengubahnya menjadi slapd.dformat baru .

Pertama, hapus semuanya slapd.d. Selanjutnya, jalankan perintah berikut, pastikan untuk menyesuaikan jalur ke Oracle Linux:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Kemudian atur pemiliknya ke pengguna dan grup LDAP Anda di direktori itu secara rekursif, dan Anda harus siap untuk pergi. Ini perlu dilakukan setiap kali Anda mengedit slapd.conf- hanya ingat untuk menghentikan server OpenLDAP sebelum melakukannya!

Jalankan awal

Sebelum Anda benar-benar dapat menggunakan direktori, Anda harus membuat DN dasar (dan pengguna root). Buat .ldiffile, berisi baris yang mirip dengan yang berikut:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Sekarang mulai server OpenLDAP. Kami hanya perlu memasukkan informasi itu ke direktori LDAP:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Jelas mengubah DN root dan nama file ldif agar sesuai dengan apa yang Anda miliki.

Anda seharusnya sudah memiliki direktori LDAP yang berfungsi dan siap untuk diisi!


Wiki Arch Linux adalah sumber informasi hebat tentang topik ini - lihat https://wiki.archlinux.org/index.php/OpenLDAP dan https://wiki.archlinux.org/index.php/LDAP_Authentication jika Anda ingin tahu lebih banyak.

Xenopathic
sumber
Sebagian besar ini sudah dilakukan oleh manajer paket dan terus mengelola konfigurasi melalui slapd.confdan slaptestketika server dihentikan, ketuk tujuan konfigurasi online.
Sven
2
Untuk konfigurasi awal slapd.confberfungsi dengan baik, dan tentu saja lebih intuitif daripada mengedit slapd.dsecara langsung. Saya tidak tahu berapa banyak direktori yang dilakukan oleh manajer paket di Oracle Linux, tetapi jika OP tidak dapat mengakses DN dasar maka itu tidak akan cukup
Xenopathic
1
Jawaban yang diterima memiliki informasi yang saya butuhkan, tetapi info tentang cara membuat objek awal juga berguna
thecoop