FreeBSD – LDAP

Az LDAP egy olyan adatbázisok gyűjtőneve, amelyekkel Lightweight Directory Access Protocol-on keresztül lehet beszélgetni, s magát az adatbázist úgy tervezték, hogy sokkal többször és gyorsabban lehet belőle olvasni, mint írni. Alapvető célja olyan adatok tárolása, amelyeket gyakran olvassuk és ritkán írjuk: belépési adatok, email címek, domén adatok, stb.

Hozzuk létre az ldap nevű jail-t:

$ zfs clone dpool/jails/v8.1.0/template_u1@base dpool/jails/v8.1.0/ldap
$ zfs set compression=on dpool/jails/v8.1.0/ldap
$ zfs create dpool/jails/data/ldap
$ zfs set mountpoint=/dpool/jails/v8.1.0/ldap/data dpool/jails/data/ldap
$ zfs set compression=on dpool/jails/data/ldap
$ zfs set mountpoint=/dpool/jails/v8.1.0/ldap/usr/ports dpool/jails/v8.1.0/ports

Adjuk hozzá a /etc/rc.conf állományhoz az újabb jail paramétereit, majd hozzuk létre az új alias-t a bge1 interfészen, s indítsuk el:

$ ifconfig bge1 alias 192.168.2.2 netmask 255.255.255.0
$ /etc/rc.d/jail start ldap
Configuring jails:.
Starting jails: ldap.jails.javaforum.hu.
$ zfs list
NAME                                      USED  AVAIL  REFER  MOUNTPOINT
dpool/jails/v8.1.0/ldap                  44,6M   122G   871M  /dpool/jails/v8.1.0/ldap

Láthatjuk, hogy szépen elindult, ezért lépjünk be, és telepítsük fel az openldap-server csomagot, amely az LDAP kiszolgáláshoz kell:

$ portinstall -i openldap-server
--->  Session started at: Tue, 26 Jul 2011 17:00:20 +0200
--->  Found 2 ports matching 'openldap-server':
        net/openldap23-server
        net/openldap24-server
Install 'net/openldap23-server'? [yes] n
Install 'net/openldap24-server'? [yes]
[Gathering depends for net/openldap24-server ...... done]
--->  Fresh installation of databases/db46 started at: Tue, 26 Jul 2011 17:00:52 +0200
...
--->  Fresh installation of net/openldap24-server ended at: Tue, 26 Jul 2011 17:10:29 +0200 (consumed 00:06:12)
--->  ** Install tasks 2: 2 done, 0 ignored, 0 skipped and 0 failed
--->  Listing the results (+:done / -:ignored / *:skipped / !:failed)
        + databases/db46
        + net/openldap24-server
--->  Packages processed: 2 done, 0 ignored, 0 skipped and 0 failed
--->  Session ended at: Tue, 26 Jul 2011 17:10:29 +0200 (consumed 00:10:09)

Ha sikerült feltelepíteni az OpenLDAP csomagot, akkor engedélyeznünk kellene a futását, ezért tegyük a jail /etc/rc.conf állományába a következő sort:

slapd_enable="YES"

Mielőtt elindítanánk az LDAP szolgáltatást, célszerű megvágni a slapd.conf állományt:

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/misc.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

modulepath      /usr/local/libexec/openldap
moduleload      back_bdb

access to *
        by self write
        by users read
        by anonymous read

database        bdb
suffix          "dc=javaforum,dc=hu"
rootdn          "cn=Manager,dc=javaforum,dc=hu"
rootpw          {SSHA}5SxhQ+7bT7AbbJY8kziphTmUuOUalcMR
directory       /data/
index           objectClass     eq
loglevel        0

A jelszót változtassuk meg, a secret helyett generáljunk egy biztonságosabban tárolható jelszót, ezt kell beszúrni a rootpw után:

$ slappasswd
New password:
Re-enter new password:
{SSHA}5SxhQ+7bT7AbbJY8kziphTmUuOUalcMR

Ezek után indítsuk újra a jail-t, majd lépjünk vissza, és lássuk el kezdő adatokkal az LDAP adatbázist, vagyis hozzuk létre a startup.ldif fájl az alábbi tartalommal:

dn: dc=javaforum,dc=hu
objectclass: dcObject
objectclass: organization
o: Java Forum
dc: javaforum

dn: cn=Manager,dc=javaforum,dc=hu
objectclass: organizationalRole
cn: Manager

Majd adjuk hozzá ezt az LDAP adatbázishoz, a jelszó a slapd.conf állományban megadott jelszó lesz (secret):

$ ldapadd -x -D "cn=Manager,dc=javaforum,dc=hu" -W -f startup.ldif
Enter LDAP Password:
adding new entry "dc=javaforum,dc=hu"

adding new entry "cn=Manager,dc=javaforum,dc=hu"

Kérdezzünk le értékeket próbaképpen:

$ ldapsearch -x -b 'dc=javaforum,dc=hu' '(objectclass=*)'
# extended LDIF
#
# LDAPv3
# base <dc=javaforum,dc=hu> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# javaforum.hu
dn: dc=javaforum,dc=hu
objectClass: dcObject
objectClass: organization
o: Java Forum
dc: javaforum

# Manager, javaforum.hu
dn: cn=Manager,dc=javaforum,dc=hu
objectClass: organizationalRole
cn: Manager

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Az LDAP szerverünk elkészült, használjuk örömmel… 🙂

Leave a Comment

Scroll to Top