Formation OpenLDAP : Différence entre versions

De PedroWiki
(Page créée avec « = Installation = Recherche du package: yum search openldap Vérification des packages déjà installés: rpm -qa openldap '''ATTENTION''' on n'a que la partie cliente.... »)
 
Ligne 69 : Ligne 69 :
 
         by dn.exact="cn=admin,dc=pedrono,dc=fr" write
 
         by dn.exact="cn=admin,dc=pedrono,dc=fr" write
 
         by * none
 
         by * none
 +
 +
== Droits sur les fichiers ==
 +
 +
'''ATTENTION''' à ce que les données appartiennent bien à ldap et non à root, sinon chown.
 +
 +
== Démarrage du service ==
 +
 +
Mise en place de traces:
 +
 +
tail -f /var/log/messages &
 +
 +
Démarrage du service:
 +
 +
/etc/init.d/slapd start
 +
 +
Warning dans les logs:
 +
 +
[root@kjh openldap]# /etc/init.d/slapd start
 +
Vérification des fichiers de configuration pour slapd :    [AVERTISSEMENT]
 +
bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).
 +
Expect poor performance for suffix "dc=my-domain,dc=com".
 +
config file testing succeeded
 +
Démarrage de slapd :                                      [  OK  ]
 +
 +
Ceci est du certainement à de la mise en cache de la part d'openldap sur les fichiers de conf initiaux (cf la référence à dc=my-domain,dc=com).
 +
 +
Tentative:
 +
 +
touch /var/lib/ldap/DB_MONITOR
 +
chown ldap: /var/lib/ldap/DB_MONITOR
 +
 +
Pas d'amélioration après restart du service.
 +
 +
Solution: suppression des données du cache:
 +
 +
rm -rf /etc/openldap/cacerts/
 +
 +
Sans effet, autre solution:
 +
 +
rm -rf /var/lib/ldap/*
 +
 +
Après restart du service disparition du warning.
 +
 +
Vérification du démarrage:
 +
 +
[root@kjh openldap]# netstat -tpln
 +
...
 +
tcp        0      0 0.0.0.0:389                0.0.0.0:*                  LISTEN      30083/slapd
 +
...
 +
 +
[root@kjh openldap]# ps fax|grep ldap
 +
30098 pts/1    S+    0:00  |          \_ grep --color=auto ldap
 +
30083 ?        Ssl    0:00 /usr/sbin/slapd -h  ldap:/// -u ldap

Version du 14 décembre 2010 à 12:07

Installation

Recherche du package:

yum search openldap

Vérification des packages déjà installés:

rpm -qa openldap

ATTENTION on n'a que la partie cliente...

Vérification de la version de noyau

uname -a

Installation du serveur openldap

yum install openldap-servers.x86_64

ATTENTION à cette étape, on n'a pas les commandes clientes ldap*, uniquement les slap*

yum install openldap-clients.x86_64

Configuration initiale

Fichier de configuration slapd.conf

ATTENTION pb: pas de slapd.conf

updatedb
locate slapd.conf
less /usr/share/openldap-servers/slapd.conf.obsolete
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

Edition de /etc/openldap/slapd.conf

Configuration du Root DN et de l'accès Manager

database        bdb
suffix          "dc=pedrono,dc=fr"
rootdn          "cn=Manager,dc=pedrono,dc=fr"
rootpw          {SHA}C5wmJdwh7wX2rU3fR8XyA4N6oyw= (toto)

Génération du mot de passe du manager (rootdn) via slappasswd

slappasswd -h {SHA} -T ./pwdfile

ou

slappasswd -h {SHA} (fonctionnement interactif)

Le mot de passe est affichée sur la sortie standard.

Données

Les données sont dans /var/lib/ldap, mais préférer l'utilisation de slapcat pour faire ses sauvegardes en ldif.

Attention, faire des exports ldif réguliers, en particulier avant la mise à jour d'un serveur, car en cas de changement de format bdb, on peut abimer tout l'annuaire et donc devoir le réimporter.

Mise en place d'ACL

Toujours dans slapd.conf:

# On bloque tout pour tout le monde
# Tout est déjà ouvert pour le rootdn puisque pas sujet aux ACL
# On ouvre en lecture pour un eventuel futur utilisateur "admin"
access to *
        by dn.exact="cn=admin,dc=pedrono,dc=fr" write
        by * none

Droits sur les fichiers

ATTENTION à ce que les données appartiennent bien à ldap et non à root, sinon chown.

Démarrage du service

Mise en place de traces:

tail -f /var/log/messages &

Démarrage du service:

/etc/init.d/slapd start

Warning dans les logs:

[root@kjh openldap]# /etc/init.d/slapd start
Vérification des fichiers de configuration pour slapd :    [AVERTISSEMENT]
bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).
Expect poor performance for suffix "dc=my-domain,dc=com".
config file testing succeeded
Démarrage de slapd :                                       [  OK  ]

Ceci est du certainement à de la mise en cache de la part d'openldap sur les fichiers de conf initiaux (cf la référence à dc=my-domain,dc=com).

Tentative:

touch /var/lib/ldap/DB_MONITOR
chown ldap: /var/lib/ldap/DB_MONITOR

Pas d'amélioration après restart du service.

Solution: suppression des données du cache:

rm -rf /etc/openldap/cacerts/

Sans effet, autre solution:

rm -rf /var/lib/ldap/*

Après restart du service disparition du warning.

Vérification du démarrage:

[root@kjh openldap]# netstat -tpln
...
tcp        0      0 0.0.0.0:389                 0.0.0.0:*                   LISTEN      30083/slapd 
...
[root@kjh openldap]# ps fax|grep ldap
30098 pts/1    S+     0:00  |           \_ grep --color=auto ldap
30083 ?        Ssl    0:00 /usr/sbin/slapd -h  ldap:/// -u ldap