DOCUMENTATION à l'arrache Note: apparemment d'après http://wiki.debian.org/OpenLDAPSetup, il faut eviter d'installer nscd, pareil dans la doc de Bind, car nscd parasite les résolutions de noms (apparemment). installation: apt-get install slapd ldap-utils db4.2-util verseau:~# ls /etc/ldap/ schema slapd.conf le fichier de configuration est ici slapd.conf à cet instant une connexion à partir d'un poste client, via "LDAP browser" est possible: pour avoir une sortie syslog assez verbeuse nous renseignons la ligne suivante dans slapd.conf comme cela: loglevel 264 et nous redemarrons par /etc/init.d/slapd restart nous rajoutons aussi la ligne suivante dans /etc/syslog.conf: local4.debug /var/log/slapd.log et redemarons syslog. exemple de log: Mar 26 18:23:50 verseau slapd[13020]: slapd starting Mar 26 18:23:50 verseau slapd[13020]: daemon: added 6r Mar 26 18:23:50 verseau slapd[13020]: daemon: added 7r Mar 26 18:23:50 verseau slapd[13020]: daemon: select: listen=6 active_threads=0 tvp=NULL Mar 26 18:23:50 verseau slapd[13020]: daemon: select: listen=7 active_threads=0 tvp=NULL Mar 26 18:24:06 verseau slapd[13020]: daemon: activity on 1 descriptors Mar 26 18:24:06 verseau slapd[13020]: daemon: new connection on 10 Mar 26 18:24:06 verseau slapd[13020]: conn=0 fd=10 ACCEPT from IP=192.168.0.5:1249 (IP=0.0.0.0:389) Mar 26 18:24:06 verseau slapd[13020]: daemon: added 10r Mar 26 18:24:06 verseau slapd[13020]: daemon: activity on: définir le rootdn n''est apparemment pas une obligation maintenant je défini le rootdn (c'est le compte du super administrateur) donc dans le fichier slapd.conf je rajoute les ligne suivantes: rootdn "cn=admin,dc=athena,dc=home" rootpw {SSHA}0t9Tz0iJde/o+x4vGiPXhqpiT5D779aJ le mot de passe à été généré avec la commande slappasswd REMARQUE: le rootdn à "apparement" été défini lors de l'installation de slapd, mais je ne vois aucune mention du rootdn et de son mot de passe . en redémarrant slapd j'ai le message suivant: BDB recovery et je ne sait pas pourquoi. peuplons l'annuaire: apt-get install migrationtools ~# cd /usr/share/migrationtools ~# LDAPADD="/usr/bin/ldapadd -c" ETC_ALIASE=/dev/null ./migrate_all_online.sh la migration des comptes unix vers LDAP est faite. sur nsswitch.conf passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis sur libnss-ldap.conf modification du fichier: host 127.0.0.1 base dc=athena,dc=home binddn cn=admin,dc=athena,dc=home bindpw mon password nss_base_passwd ou=People,dc=athena,dc=home?one nss_base_shadow ou=People,dc=athena,dc=home?one nss_base_group ou=Group,dc=athena,dc=home?one ATTENTION: il mettre le mot de passe en clair et non en crypté il y a peut être moyen de le crypter mais je ne sais pas encore comment, cela doit expliquer la présence du fichier ldap.secret qui est en 600 :-)) dans le doute je maintient un mot de passe dans libnss-ldap.conf pour les tests il faut veiller à ce que la communication s' établisse bien entre les clients et slapd l'authentification local doit utiliser l'adresse 127.0.0.1 chez moi en intranet un netstat -natp | grep 389 donne: tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 14254/slapd tcp 0 0 127.0.0.1:43609 127.0.0.1:389 ESTABLISHED16259/-bash tcp 0 0 192.168.0.3:389 192.168.0.5:1092 ESTABLISHED14254/slapd tcp 0 0 127.0.0.1:389 127.0.0.1:43609 ESTABLISHED14254/slapd tcp6 0 0 :::389 :::* LISTEN 14254/slapd donc pas de pb ! apt-get install libpam-ldap dans /etc/pam_ldap.conf host 127.0.0.1 base dc=athena,dc=home rootbinddn cn=admin,dc=athena,dc=home nss_base_passwd ou=People,dc=athena,dc=home?one nss_base_shadow ou=People,dc=athena,dc=home?one nss_base_group ou=Group,dc=athena,dc=home?one authentification ssh et ftp: dans /etc/pam.d/ dans common-account: account sufficient pam_ldap.so account required pam_unix.so dans common-auth: auth sufficient pam_ldap.so auth required pam_unix.so try_first_pass nullok_secure dans common-password: password sufficient pam_ldap.so password required pam_unix.so nullok obscure min=4 max=8 md5 j'ai renseigné paramétrage de base de postfix pour ldap avec les lignes suivantes ldap_server = localhost ldap_search_base = ou=People,dc=athena,dc=home la compatibilité avec sasl est assuré dans le fichier /etc/default/sasl, par la ligne MECHANISMS="pam" ANNEXE peuplement création de l'OU personnes (tiré du bouquin LDAP d'Oreilly) renseigner les lignes suivantes dans un fichier: dn: ou=personnes,dc=athena,dc=home ou: personnes objectClass: organizationalUnit inserer le fichier dans l'annuaire: /etc/init.d/slapd stop (avec ldapmodify, il y a moyen de modifier a chaud l'annuaire) verseau:/tmp# slapadd -v -l personnes.ldif added: "ou=personnes,dc=athena,dc=home" (00000003) vérifions: verseau:/tmp# ldapsearch -x -b "dc=athena,dc=home" "(objectClass=*)" # extended LDIF # # LDAPv3 # basewith scope sub # filter: (objectClass=*) # requesting: ALL # # athena.home dn: dc=athena,dc=home objectClass: top objectClass: dcObject objectClass: organization o: athena.home dc: athena # admin, athena.home dn: cn=admin,dc=athena,dc=home objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator # personnes, athena.home dn: ou=personnes,dc=athena,dc=home ou: personnes objectClass: organizationalUnit # search result search: 2 result: 0 Success # numResponses: 4 # numEntries: 3 toujour sur le meme principe je me rajoute dans l'OU personnes: less /tmp/antonio.ldif dn: cn=Antonio E. Moscato,ou=personnes,dc=athena,dc=home cn: Antonio E. Moscato sn: Moscato mail: antonio@architux.com mail: antonio@no-log.org labeledURI: http://www.architux.com/ roomNumber: archituxland departmentNumber: administration telephoneNumber: 06 20 56 07 90 mobile: 06 20 56 07 90 objectclass: inetOrgPerson puis verseau:/tmp# slapadd -v -l antonio.ldif added: "cn=Antonio E. Moscato,ou=personnes,dc=athena,dc=home" (00000004) et restart de slapd