This is an old revision of the document!


openldap Centos8

contexte

RedHat (RHEL8) ne fournit plus openldap-servers :

https://access.redhat.com/solutions/2440481

Packages el8 openldap-servers

ref docs

repo LTB openldap-servers

vi /etc/yum.repos.d/ltb-project.repo

[root@ldapex ~]# cat /etc/yum.repos.d/ltb-project.repo
[ltb-project]
name=LTB project packages
baseurl=https://ltb-project.org/rpm/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project

[root@ldapex ~]# yum update
LTB project packages                                                                                37 kB/s |  40 kB     00:01    

[root@ldapex ~]# rpm --import https://ltb-project.org/lib/RPM-GPG-KEY-LTB-project

install

[root@ldapex ~]# yum install openldap-ltb
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:01:34 le jeu. 09 janv. 2020 21:40:13 CET.
Dépendances résolues.
===================================================================================================================================
 Paquet                         Architecture           Version                                   Dépôt                       Taille
===================================================================================================================================
Installing:
 openldap-ltb                   x86_64                 2.4.48-2.el8                              ltb-project                 2.9 M
Installation des dépendances:
 libtool-ltdl                   x86_64                 2.4.6-25.el8                              BaseOS                       58 k
 berkeleydb-ltb                 x86_64                 4.6.21.NC-4.el8.patch4                    ltb-project                 5.7 M

Résumé de la transaction
===================================================================================================================================
Installer  3 Paquets

Taille totale des téléchargements : 8.6 M
Taille des paquets installés : 38 M

Installé:
  openldap-ltb-2.4.48-2.el8.x86_64       libtool-ltdl-2.4.6-25.el8.x86_64       berkeleydb-ltb-4.6.21.NC-4.el8.patch4.x86_64      

toute l'installation openldap-servers est dans /usr/local/openldap !

etat initial

[root@ldapex ~]# systemctl status slapd.service
● slapd.service - OpenLDAP LTB startup script
   Loaded: loaded (/usr/lib/systemd/system/slapd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://ltb-project.org/documentation

OLC config dynamique

https://ltb-project.org/documentation/general/migrate_slapd_conf_cn_config

[root@ldapfr8 ~]# mkdir /usr/local/openldap/etc/openldap/slapd.d
[root@ldapfr8 ~]# cp /usr/local/openldap/etc/openldap/slapd.conf /usr/local/openldap/etc/openldap/slapd.conf.dist
[root@ldapfr8 ~]# vim /usr/local/openldap/etc/openldap/slapd.conf
[root@ldapfr8 ~]# ls -l /usr/local/openldap/var/openldap-data
-rw-r--r-- 1 ldap ldap  924 29 août  20:52 DB_CONFIG
-rw------- 1 ldap ldap  845 29 août  20:52 DB_CONFIG.example
[root@ldapfr8 ~]# vim /usr/local/openldap/etc/openldap/slapd.conf
[root@ldapfr8 ~]# slaptest -f /usr/local/openldap/etc/openldap/slapd.conf -F /usr/local/openldap/etc/openldap/slapd.d -d 256
5e1796ed mdb_db_open: database "dc=int,dc=fr" cannot be opened: No such file or directory (2). Restore from backup!
5e1796ed backend_startup_one (type=mdb, suffix="dc=int,dc=fr"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch)
[root@ldapfr8 ~]# chown -R ldap.ldap /usr/local/openldap/etc/openldap/slapd.d

cn=config acces

necessité de declarer les acces a cn=config pour que l'acces peercred -Y EXTERNAL en ldapi fonctionne

https://serverfault.com/questions/938235/openldap-cn-config-no-such-object-32

il faut donc ajouter au slapd.conf l'acces du compte system root: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth au cn=config et on en profite aussi pour declarer la databsqe monitor pour le futur monitoring .

## JP enable on-the-fly configuration (cn=config)
database config
access to *
    by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
    by * read

##JP enable server status monitoring (cn=monitor)
database monitor
access to *
       by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
       by dn.exact=cn=manager,dc=int,dc=fr read
       by * none

resultat olc :

[root@ldap8 ~]# ls -ltr /usr/local/openldap/etc/openldap/slapd.d/cn\=config
# ls -ltr /usr/local/openldap/etc/openldap/slapd.d/cn\=config
total 108
-rw------- 1 ldap ldap 86116 10 janv. 18:28 'cn=schema.ldif'
drwxr-x--- 2 ldap ldap  4096 10 janv. 18:28 'cn=schema'
-rw------- 1 ldap ldap   689 10 janv. 18:28 'olcDatabase={2}monitor.ldif'
-rw------- 1 ldap ldap   846 10 janv. 18:28 'olcDatabase={1}mdb.ldif'
-rw------- 1 ldap ldap   596 10 janv. 18:28 'olcDatabase={-1}frontend.ldif'
-rw------- 1 ldap ldap   663 10 janv. 18:28 'olcDatabase={0}config.ldif'

mise a jour du chemin de conf dans /usr/local/openldap/etc/openldap/slapd-cli.conf

[root@ldapfr8 ~]# vim /usr/local/openldap/etc/openldap/slapd-cli.conf
[root@ldapfr8 ~]# grep SLAPD_CONF_DIR /usr/local/openldap/etc/openldap/slapd-cli.conf
SLAPD_CONF_DIR="$SLAPD_PATH/etc/openldap/slapd.d"

start initial

[root@ldapfr8 ~]# systemctl start slapd.service 
[root@ldapfr8 ~]# systemctl status slapd.service 
● slapd.service - OpenLDAP LTB startup script
   Loaded: loaded (/usr/lib/systemd/system/slapd.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-01-09 22:19:11 CET; 2s ago
     Docs: https://ltb-project.org/documentation
  Process: 922 ExecStart=/usr/local/openldap/sbin/slapd-cli start (code=exited, status=0/SUCCESS)
 Main PID: 954 (slapd)
    Tasks: 2 (limit: 26213)
   Memory: 5.0M
   CGroup: /system.slice/slapd.service
           └─954 /usr/local/openldap/libexec/slapd -h ldap://*:389 ldaps://*:636 ldapi://%2Fvar%2Frun%2Fslapd%2Fldapi -F /usr/loca>

janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [INFO] Using /usr/local/openldap/etc/openldap/slapd-cli.conf for configura>
janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [INFO] Create LDAPI socket dir /var/run/slapd
janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [INFO] Launching OpenLDAP configuration test...
janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [OK] OpenLDAP configuration test successful
janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [INFO] No db_recover done
janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [INFO] Launching OpenLDAP...
janv. 09 22:19:10 ldapfr8 slapd-cli[922]: slapd-cli: [OK] File descriptor limit set to 1024
janv. 09 22:19:10 ldapfr8 slapd[953]: @(#) $OpenLDAP: slapd 2.4.48 (Aug 29 2019 14:52:08) $ 
clement@kptn-rhel8.example.com:/home/clement/build/BUILD/openldap-2.4.48/servers/>
janv. 09 22:19:11 ldapfr8 slapd-cli[922]: slapd-cli: [OK] OpenLDAP started
janv. 09 22:19:11 ldapfr8 systemd[1]: Started OpenLDAP LTB startup script.

Database mdb

[root@ldapfr8 ~]# ls -ltr /usr/local/openldap/var/openldap-data
total 24
-rw------- 1 ldap ldap   845 29 août  20:52 DB_CONFIG.example
-rw-r--r-- 1 ldap ldap   924 29 août  20:52 DB_CONFIG
-rw------- 1 ldap ldap  8192  9 janv. 22:19 lock.mdb
-rw------- 1 ldap ldap 12288  9 janv. 22:19 data.mdb

config initiale

il n'y a que le schema Core par default

[root@ldap8 ~]# ls -ltr /usr/local/openldap/etc/openldap/slapd.d/cn\=config/cn\=schema
total 16
-rw------- 1 ldap ldap 15546 10 janv. 12:21 'cn={0}core.ldif'

le RootDSE contient bien notre base MDB initiale

[root@ldap8 ~]# ldapsearch -H ldap:// -x -s base -b "" -LLL "+"
dn:
structuralObjectClass: OpenLDAProotDSE
configContext: cn=config
namingContexts: dc=int,dc=fr
monitorContext: cn=Monitor

...
supportedLDAPVersion: 3
entryDN:
subschemaSubentry: cn=Subschema

interrogation du context de configuration de base cn=config via une connexion SASL (-Y) et sur une socket unix (ldapi) avec affichage des DN seulement (pas les attributs, retirer dn pour details) )

docpublic/systemes/ldap/ldapc8.1578677658.txt.gz · Last modified: 2020/01/10 17:34 by procacci@tem-tsp.eu
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0