Top Banner
LDAP Lightweight Directory Access Protocol Antoine Lubineau INP-net 18 décembre 2011 Antoine Lubineau (INP-net) LDAP 18 décembre 2011 1 / 23
44

LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Mar 31, 2019

Download

Documents

trandung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

LDAPLightweight Directory Access Protocol

Antoine Lubineau

INP-net

18 décembre 2011

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 1 / 23

Page 2: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction

.Qu’est-ce que LDAP ?..

......

..Lightweight ..Directory ..Access Protocol

simple, interfaçable .

annuaire (hiérarchie) .

un protocole d’accès, c’est tout .

.

.Pourquoi LDAP et pas autre chose ? (SQL ?)..

......

authentification centralisée

structure hiérarchique réaliste

grandes performances en lecture

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 2 / 23

Page 3: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction

.Qu’est-ce que LDAP ?..

......

..Lightweight ..Directory ..Access Protocol

simple, interfaçable .

annuaire (hiérarchie) .

un protocole d’accès, c’est tout .

.

.Pourquoi LDAP et pas autre chose ? (SQL ?)..

......

authentification centralisée

structure hiérarchique réaliste

grandes performances en lecture

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 2 / 23

Page 4: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction

.Qu’est-ce que LDAP ?..

......

..Lightweight ..Directory ..Access Protocol

simple, interfaçable .

annuaire (hiérarchie) .

un protocole d’accès, c’est tout .

.

.Pourquoi LDAP et pas autre chose ? (SQL ?)..

......

authentification centralisée

structure hiérarchique réaliste

grandes performances en lecture

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 2 / 23

Page 5: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction

.Qu’est-ce que LDAP ?..

......

..Lightweight ..Directory ..Access Protocol

simple, interfaçable .

annuaire (hiérarchie) .

un protocole d’accès, c’est tout .

.

.Pourquoi LDAP et pas autre chose ? (SQL ?)..

......

authentification centralisée

structure hiérarchique réaliste

grandes performances en lecture

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 2 / 23

Page 6: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction.Avantages de LDAP..

......

service d’annuaire très optimisé pour les lectures

service distribué de stockage d’information

extensibilité des schémas standards

possibilités de recherche avancées

réplication entre serveurs

.À faire sur une machine du réseau INP-net..

......

$ ldapsearch ..-x ..uid=lubinea ..snpas de bind .

filtre de recherche .

attribut demandé (facultatif) .

.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 3 / 23

Page 7: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction.Avantages de LDAP..

......

service d’annuaire très optimisé pour les lectures

service distribué de stockage d’information

extensibilité des schémas standards

possibilités de recherche avancées

réplication entre serveurs

.À faire sur une machine du réseau INP-net..

......

$ ldapsearch ..-x ..uid=lubinea ..snpas de bind .

filtre de recherche .

attribut demandé (facultatif) .

.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 3 / 23

Page 8: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction.Avantages de LDAP..

......

service d’annuaire très optimisé pour les lectures

service distribué de stockage d’information

extensibilité des schémas standards

possibilités de recherche avancées

réplication entre serveurs

.À faire sur une machine du réseau INP-net..

......

$ ldapsearch ..-x ..uid=lubinea ..snpas de bind .

filtre de recherche .

attribut demandé (facultatif) .

.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 3 / 23

Page 9: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction.Avantages de LDAP..

......

service d’annuaire très optimisé pour les lectures

service distribué de stockage d’information

extensibilité des schémas standards

possibilités de recherche avancées

réplication entre serveurs

.À faire sur une machine du réseau INP-net..

......

$ ldapsearch ..-x ..uid=lubinea ..snpas de bind .

filtre de recherche .

attribut demandé (facultatif) .

.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 3 / 23

Page 10: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction.Avantages de LDAP..

......

service d’annuaire très optimisé pour les lectures

service distribué de stockage d’information

extensibilité des schémas standards

possibilités de recherche avancées

réplication entre serveurs

.À faire sur une machine du réseau INP-net..

......

$ ldapsearch ..-x ..uid=lubinea ..snpas de bind .

filtre de recherche .

attribut demandé (facultatif) .

.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 3 / 23

Page 11: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Introduction.Avantages de LDAP..

......

service d’annuaire très optimisé pour les lectures

service distribué de stockage d’information

extensibilité des schémas standards

possibilités de recherche avancées

réplication entre serveurs

.À faire sur une machine du réseau INP-net..

......

$ ldapsearch ..-x ..uid=lubinea ..snpas de bind .

filtre de recherche .

attribut demandé (facultatif) .

.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 3 / 23

Page 12: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Sommaire

...1 Introduction

...2 ConceptsStructureOpérationsFiltres LDAPConfiguration

...3 LangagesPHPPython

RubyPerl

...4 LDAP dans le réseau INP-netServeurs LDAPPostfixejabberdFreeRADIUSORM Django du portail BDE

...5 Références

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 4 / 23

Page 13: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Structure

arbre n-aire organisé en :▶ racine basée sur le nommage DNS : dc=etu-inpt,dc=fr (DC : domain

component)▶ organisations : o=n7, o=a7…▶ organizational units : ou=groups, ou=aliases…▶ nœuds dont la première composante du DN est souvent le CN (common name)

ou l’UID

un nœud : un ensemble d’attributs dont :▶ un Distinguished Name (DN) unique = RDN Relative DN suivi du DN du parent▶ un ou des objectClass qui font référence aux schémas▶ un common name (CN) ou un UID▶ les attributs définis dans le schéma…

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 5 / 23

Page 14: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Structure

arbre n-aire organisé en :▶ racine basée sur le nommage DNS : dc=etu-inpt,dc=fr (DC : domain

component)▶ organisations : o=n7, o=a7…▶ organizational units : ou=groups, ou=aliases…▶ nœuds dont la première composante du DN est souvent le CN (common name)

ou l’UID

un nœud : un ensemble d’attributs dont :▶ un Distinguished Name (DN) unique = RDN Relative DN suivi du DN du parent▶ un ou des objectClass qui font référence aux schémas▶ un common name (CN) ou un UID▶ les attributs définis dans le schéma…

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 5 / 23

Page 15: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Opérations LDAP

StartTLS : pas utilisé ici

Bind : authentification

Recherche

Comparaison

Ajout

Suppression

Modification d’un nœud

Modification du DN = déplacement

Abandon

Opérations étendues

Unbind : fermeture de la connexion

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 6 / 23

Page 16: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Filtres LDAP

À compléter.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 7 / 23

Page 17: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Configuration d’un serveur OpenLDAP

Configuration disponible dans le dépôt Mercurial INP-net conf_ldap.

.Schéma........slapd.conf et inp-net.schema.

.Indexation du LDAP........user-indexes.conf.

.ACL LDAP........slapd.access.

.Piège........Bien lire la documentation et tester avant de mettre en production.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 8 / 23

Page 18: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Configuration d’un serveur OpenLDAP

Configuration disponible dans le dépôt Mercurial INP-net conf_ldap..Schéma........slapd.conf et inp-net.schema.

.Indexation du LDAP........user-indexes.conf.

.ACL LDAP........slapd.access.

.Piège........Bien lire la documentation et tester avant de mettre en production.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 8 / 23

Page 19: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Configuration d’un serveur OpenLDAP

Configuration disponible dans le dépôt Mercurial INP-net conf_ldap..Schéma........slapd.conf et inp-net.schema.

.Indexation du LDAP........user-indexes.conf.

.ACL LDAP........slapd.access.

.Piège........Bien lire la documentation et tester avant de mettre en production.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 8 / 23

Page 20: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Configuration d’un serveur OpenLDAP

Configuration disponible dans le dépôt Mercurial INP-net conf_ldap..Schéma........slapd.conf et inp-net.schema.

.Indexation du LDAP........user-indexes.conf.

.ACL LDAP........slapd.access.

.Piège........Bien lire la documentation et tester avant de mettre en production.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 8 / 23

Page 21: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Configuration d’un serveur OpenLDAP

Configuration disponible dans le dépôt Mercurial INP-net conf_ldap..Schéma........slapd.conf et inp-net.schema.

.Indexation du LDAP........user-indexes.conf.

.ACL LDAP........slapd.access.

.Piège........Bien lire la documentation et tester avant de mettre en production.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 8 / 23

Page 22: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Une requête sympathique

.Trouver les machines d’une salle de TP..

......

$ ldapsearch -x -h ldapmaster.enseeiht.fr \-b ou=hosts,dc=n7,dc=fr puppetclass=c201 cn

# dragon.enseeiht.fr, hosts, n7.frdn : cn=dragon.enseeiht.fr,ou=hosts,dc=n7,dc=frcn : dragon.enseeiht.fr

# minotaure.enseeiht.fr, hosts, n7.frdn : cn=minotaure.enseeiht.fr,ou=hosts,dc=n7,dc=frcn : minotaure.enseeiht.fr

...

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 9 / 23

Page 23: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Une requête sympathique

.Trouver les machines d’une salle de TP..

......

$ ldapsearch -x -h ldapmaster.enseeiht.fr \-b ou=hosts,dc=n7,dc=fr puppetclass=c201 cn

# dragon.enseeiht.fr, hosts, n7.frdn : cn=dragon.enseeiht.fr,ou=hosts,dc=n7,dc=frcn : dragon.enseeiht.fr

# minotaure.enseeiht.fr, hosts, n7.frdn : cn=minotaure.enseeiht.fr,ou=hosts,dc=n7,dc=frcn : minotaure.enseeiht.fr

...

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 9 / 23

Page 24: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

PHP

.ldap.php ?groupe=net7-n7 affiche les membres d’un groupe n7

..

......

< ?php $conn = ldap_connect('discover') ;ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3) ;$search = ldap_search($conn, 'ou=groups,o=n7,' .'dc=etu-inpt,dc=fr', 'cn=' . $_GET['groupe']) ;

$values = ldap_get_values($conn,ldap_first_entry($conn, $search), 'memberUid') ;

for ($i=0 ; $i < $values['count'] ; $i++) {echo $values[$i] . '<br />' ;

}ldap_close($conn) ; ?>

.Documentation........http://www.php.net/manual/fr/ref.ldap.php

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 10 / 23

Page 25: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

PHP

.ldap.php ?groupe=net7-n7 affiche les membres d’un groupe n7

..

......

< ?php $conn = ldap_connect('discover') ;ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3) ;$search = ldap_search($conn, 'ou=groups,o=n7,' .'dc=etu-inpt,dc=fr', 'cn=' . $_GET['groupe']) ;

$values = ldap_get_values($conn,ldap_first_entry($conn, $search), 'memberUid') ;

for ($i=0 ; $i < $values['count'] ; $i++) {echo $values[$i] . '<br />' ;

}ldap_close($conn) ; ?>

.Documentation........http://www.php.net/manual/fr/ref.ldap.php

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 10 / 23

Page 26: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Python.Recherche simple avec le module ldap Python 2..

......

>>> import ldap>>> conn = ldap.initialize('ldap://discover')>>> conn.simple_bind_s()(97, [])>>> s = conn.search_s(base='ou=people,o=n7,dc=etu-inpt,dc=fr',... scope=ldap.SCOPE_SUBTREE,... filterstr='(!(loginShell=/bin/bash))',... attrlist=['cn'])>>> print splein de choses intéressantes>>> conn.unbind_s()

.Remarques..

......

*_s : opération synchrone

Documentation sur http://python-ldap.org/

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 11 / 23

Page 27: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Python.Recherche simple avec le module ldap Python 2..

......

>>> import ldap>>> conn = ldap.initialize('ldap://discover')>>> conn.simple_bind_s()(97, [])>>> s = conn.search_s(base='ou=people,o=n7,dc=etu-inpt,dc=fr',... scope=ldap.SCOPE_SUBTREE,... filterstr='(!(loginShell=/bin/bash))',... attrlist=['cn'])>>> print splein de choses intéressantes>>> conn.unbind_s()

.Remarques..

......

*_s : opération synchrone

Documentation sur http://python-ldap.org/

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 11 / 23

Page 28: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Ruby

.Recherche simple avec la gem net-ldap..

......

irb(main):001:0> require 'net/ldap'=> trueirb(main):002:0> ldap = Net::LDAP.new=> #<Net::LDAP:0x00000002466570 @host="127.0.0.1", @port=389,@verbose=false, @auth={:method=>:anonymous}, @base="dc=com",@encryption=nil, @open_connection=nil>irb(main):003:0> ldap.host = 'discover'=> "discover"irb(main):004:0> ldap.search(:base => "dc=etu-inpt,dc=fr",irb(main):005:1* :filter => "cn=net7-n7")=> [#<Net::LDAP::Entry:0x00000001290b20 ...

.Remarque........La gem ruby-ldap ressemble un peu plus au module ldap de Python.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 12 / 23

Page 29: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Ruby

.Recherche simple avec la gem net-ldap..

......

irb(main):001:0> require 'net/ldap'=> trueirb(main):002:0> ldap = Net::LDAP.new=> #<Net::LDAP:0x00000002466570 @host="127.0.0.1", @port=389,@verbose=false, @auth={:method=>:anonymous}, @base="dc=com",@encryption=nil, @open_connection=nil>irb(main):003:0> ldap.host = 'discover'=> "discover"irb(main):004:0> ldap.search(:base => "dc=etu-inpt,dc=fr",irb(main):005:1* :filter => "cn=net7-n7")=> [#<Net::LDAP::Entry:0x00000001290b20 ...

.Remarque........La gem ruby-ldap ressemble un peu plus au module ldap de Python.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 12 / 23

Page 30: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Perl

Voir/clubs/n7/net7/private/scripts/generateClubsLinksOnDesktop.pl :script de création de raccourcis pour les utilisateurs en fonction des dossiersauxquels ils ont accès.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 13 / 23

Page 31: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Serveurs LDAP INP-net (configuration provisoire)

..DaiHaiNeuhPaiErr.

DaiHaiNeuhPaiErrBis

.

Dnepr

.Ares .

Discover

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 14 / 23

Page 32: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Serveurs LDAP INP-net (configuration stable)

..Dnepr.

Pioneer ?

.Ares .

Discover

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 15 / 23

Page 33: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Authentification avec PAM

PAM (Pluggable authentication modules) : API standardisée d’authentification../etc/pam.d/sshd..

......

auth required pam_nologin.soauth required pam_group.so use_first_passauth sufficient pam_ldap.soauth required pam_env.soauth required pam_unix.so use_first_passaccount sufficient pam_ldap.soaccount required pam_unix.soaccount required pam_time.sopassword required pam_ldap.sopassword required pam_unix.sosession required pam_unix_session.sosession sufficient pam_ldap.sosession required pam_limits.so

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 16 / 23

Page 34: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Authentification avec PAM

.Exemple d’installation..

......

https://trac.inp-net.eu.org/wiki/InstallerUnServeur ethttp://wiki.debian.org/LDAP/PAM.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 17 / 23

Page 35: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

PostfixServeur SMTP (Simple Mail Transfer Protocol) sur Galileo. Extraits de laconfiguration :./etc/postfix/main.cf alias utilisateurs..

......

ldapuser_server_host = ldapmaster.bde.inp ldapslave.bde.inpldapuser_search_base = dc=etu-inpt,dc=frldapuser_query_filter = (&(objectClass=qmailUser)(mail=%s))ldapuser_result_attribute = mailForwardingAddressldapuser_bind = no

./etc/postfix/main.cf alias des clubs n7..

......

ldapn7_domain = bde.enseeiht.frldapn7_server_host = ldapmaster.bde.inp ldapslave.bde.inpldapn7_search_base = ou=aliases,o=n7,dc=etu-inpt,dc=frldapn7_query_filter = (&(objectClass=nisMailAlias)(cn=%u))ldapn7_result_attribute = rfc822MailMemberldapn7_bind = no

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 18 / 23

Page 36: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

PostfixServeur SMTP (Simple Mail Transfer Protocol) sur Galileo. Extraits de laconfiguration :./etc/postfix/main.cf alias utilisateurs..

......

ldapuser_server_host = ldapmaster.bde.inp ldapslave.bde.inpldapuser_search_base = dc=etu-inpt,dc=frldapuser_query_filter = (&(objectClass=qmailUser)(mail=%s))ldapuser_result_attribute = mailForwardingAddressldapuser_bind = no

./etc/postfix/main.cf alias des clubs n7..

......

ldapn7_domain = bde.enseeiht.frldapn7_server_host = ldapmaster.bde.inp ldapslave.bde.inpldapn7_search_base = ou=aliases,o=n7,dc=etu-inpt,dc=frldapn7_query_filter = (&(objectClass=nisMailAlias)(cn=%u))ldapn7_result_attribute = rfc822MailMemberldapn7_bind = no

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 18 / 23

Page 37: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

ejabberd

Serveur Jabber im.inpt.fr sur Vega. Extrait de la configuration :./etc/ejabberd/ejabberd.cfg..

......

{auth_method, ldap}.{ldap_servers, ["ldapmaster.bde.inp","ldapslave.bde.inp"]}.{ldap_uidattr, "uid"}.{ldap_base, "dc=etu-inpt,dc=fr"}.

.Piège........L’ordre d’accès aux serveurs LDAP n’est pas spécifié… hilarity ensues.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 19 / 23

Page 38: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

ejabberd

Serveur Jabber im.inpt.fr sur Vega. Extrait de la configuration :./etc/ejabberd/ejabberd.cfg..

......

{auth_method, ldap}.{ldap_servers, ["ldapmaster.bde.inp","ldapslave.bde.inp"]}.{ldap_uidattr, "uid"}.{ldap_base, "dc=etu-inpt,dc=fr"}.

.Piège........L’ordre d’accès aux serveurs LDAP n’est pas spécifié… hilarity ensues.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 19 / 23

Page 39: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

FreeRADIUS

Serveur d’authentification 802.1X (Remote Authentication Dial-In User Service) surAtlas (provisoirement Discover). Extrait de la configuration :./etc/raddb/modules/ldap..

......

ldap {server = "ldapmaster.bde.inp"identity = "uid=client-consult,ou=scripts," \

"ou=inp-net,o=inp,dc=etu-inpt,dc=fr"password = "********************"basedn = "dc=etu-inpt,dc=fr"filter = "(uid=%{%{Stripped-User-Name} :-%{User-Name}})"base_filter = "(objectclass=Eleve)"access_attr = "inscritAE"dictionary_mapping = ${confdir}/ldap.attrmap

}

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 20 / 23

Page 40: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

ORM Django du portail BDE

À compléter.

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 21 / 23

Page 41: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Références

Carter (Gerald), LDAP System Administration, O’Reilly, 2003. Disponible surl’étagère.

Le manuel d’OpenLDAP : http://www.openldap.org/doc/admin24/Les RFC 4510 à 4519 : http://www.rfc-editor.org/

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 22 / 23

Page 42: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Références

Carter (Gerald), LDAP System Administration, O’Reilly, 2003. Disponible surl’étagère.

Le manuel d’OpenLDAP : http://www.openldap.org/doc/admin24/

Les RFC 4510 à 4519 : http://www.rfc-editor.org/

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 22 / 23

Page 43: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

Références

Carter (Gerald), LDAP System Administration, O’Reilly, 2003. Disponible surl’étagère.

Le manuel d’OpenLDAP : http://www.openldap.org/doc/admin24/Les RFC 4510 à 4519 : http://www.rfc-editor.org/

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 22 / 23

Page 44: LDAP - Lightweight Directory Access Protocol fileLDAP LightweightDirectoryAccessProtocol AntoineLubineau INP-net 18décembre2011 AntoineLubineau (INP-net) LDAP 18décembre2011 1/23

C’est fini !

Questions ?

Antoine Lubineau (INP-net) LDAP 18 décembre 2011 23 / 23