===== 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