Table des matières
LDAP
Setup
aptitude install slapd ldap-utils shelldap ldapvi
Debconf pose les bonnes questions :)
Test
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config
shelldap crée un .rc dès qu'une connexion réussit :
$ cat .shelldap.rc --- basedn: dc=arn-fai,dc=net binddn: cn=admin,dc=arn-fai,dc=net cacheage: 300 confpath: /home/john/.shelldap.rc server: localhost timeout: 10
Définir un mot de passe pour cn=config
Générer un hash :
slappasswd
En root (les ACL limitent à gidNumber=0+uidNumber=0) :
ldapmodify -Y EXTERNAL -H ldapi:///
puis entrer les modifs à apported en format LDIF :
dn: olcDatabase={0}config,cn=config add: olcRootPW olcRootPW: {SSHA}+XXXXXXXXXXXXXXXXXXXXXXXXXXX
On peut maintenant se loguer sur cn=config :
shelldap --basedn cn=config --binddn cn=admin,cn=config
ldapvi
Pratique (et bien fait) pour éditer des entrées.
Exemple de conf (~/.ldapvirc) :
profile default host: ldap://choucroute.arn-fai.net:389 user: cn=johndescs,dc=arn-fai,dc=net bind: simple ldap-conf: yes may: yes
Construction
Ajout organizationalUnit de base
Créer un fichier quelconque (ici add.ldif) avec :
dn: ou=members,dc=arn-fai,dc=net objectClass: organizationalUnit ou: members dn: ou=lines,dc=arn-fai,dc=net objectClass: organizationalUnit ou: lines
et l'importer dans l'annuaire :
ldapadd -x -D cn=admin,dc=arn-fai,dc=net -W -f add.ldif
Ajout membre
Créer un fichier quelconque (ici add.ldif) avec :
dn: cn=johndescs,ou=members,dc=arn-fai,dc=net cn: johndescs sn: Michalon mail: jonathan XXX michalon.eu displayName: Jonathan Michalon userPassword: {SSHA}XXXXXXXXXXXXXXXXXXXXXXX objectClass: inetOrgPerson
et l'importer dans l'annuaire :
ldapadd -x -D cn=admin,dc=arn-fai,dc=net -W -f add.ldif
Ajout schéma radius
mkdir out slapcat -f openldap.schema -F out -n0 -H ldap:///cn={0}openldap,cn=schema,cn=config -l cn=openldap.ldif cd out $EDITOR cn\=config/cn\=schema/cn\=\{0\}openldap.ldif
Ajuster le dn et le cn (dn: cn={4}radiusprofile,cn=schema,cn=config et cn: {4}radiusprofile) et virer les lignes en bas ajoutées par slapcat (à partir de structuralObjectClass: olcSchemaConfig)
ldapadd -x -D cn=admin,cn=config -W -f cn\=config/cn\=schema/cn\=\{0\}openldap.ldif
Ajout ligne
Créer un fichier quelconque (ici add.ldif) avec :
dn: cn=1,ou=lines,dc=arn-fai,dc=net cn: 1 radiusFramedIPAddress: 89.234.141.1 radiusFramedIPNetmask: 255.255.255.0 radiusFramedRoute: 89.234.141.129 owner: cn=johndescs,ou=members,dc=arn-fai,dc=net objectClass: radiusObjectProfile objectClass: extensibleObject
et l'importer dans l'annuaire :
ldapadd -x -D cn=admin,dc=arn-fai,dc=net -W -f add.ldif
Doc
(vieux) schema viewer : http://www.andrew.cmu.edu/user/dd26/ldap.akbkhome.com
setup avec freeradius (ubuntu 12.04) : http://ubuntuforums.org/showthread.php?t=1976883
Config avec la nouvelle méthode (directement dans l'annuaire) : http://www.openldap.org/doc/admin24/slapdconf2.html
Pas mal de tips : http://trac.evolix.net/infogerance/wiki/HowtoOpenLDAP
Setup de base : http://www.ezunix.org/index.php?title=Set_up_LDAP_Server_on_Debian_Linux http://wiki.debian.org/LDAP/OpenLDAPSetup