J'aimerais notamment une authentification centralisée et compatible avec OS X Client, du coup j'ai choisi OpenLDAP + Kerberos.
Pour l'authentification Kerberos dans OpenLDAP, ça fonctionne plutôt bien. J'ai créé un utilisateur test2 (dans OpenLDAP et dans Kerberos), et je peux faire des requêtes sans problème ( ldapsearch -Y GSSAPI -b cn=users,dc=mondomaine,dc=net "(&(&(objectClass=inetOrgPerson)(objectClass=posixAccount)(objectClass=shadowAccount)(objectClass=apple-user)(objectClass=extensibleObject))(|(uid=test2)(cn=test2)(mail=test2)(altSecurityIdentities=test2)))" )
Si j'utilise l'authentification par mot de passe, ça fonctionne également (-D blabla -w toto). Le mot de passe a été créé via ldappasswd.
D'ailleurs, quand je fais une recherche, j'ai userPassword:: e1NTSEF9bUxXMnFMU1VDaTJ6Wmt3a0FoejRrQ04rdzFtWjJsckc=
Il me semblait que la fonction de hash était précisée dans l'attribut (du genre {SSHA}e1NTSEF9bUxXMnFMU1VDaTJ6Wmt3a0FoejRrQ04rdzFtWjJsckc= ). Est-ce normal ? Comment imposer du SSHA ?
Maintenant, OS X Client demande apparemment du MD5-DIGEST pour s'authentifier.
J'ai donc essayé ldapsearch -Y MD5-DIGEST blabla, mais je n'aime pas la réponse :
SASL/DIGEST-MD5 authentication started Please enter your password: ldap_sasl_interactive_bind_s: Invalid credentials (49) additional info: SASL(-13): user not found: no secret in database
D'ailleurs, c'est exactement la même réponse que j'ai dans les logs quand j'essaie de me logguer depuis OS X.
Après un peu de lecture, j'ai cru comprendre qu'il fallait utiliser saslpasswd2 pour enregistrer les mots de passe. Pas de problème :
$ sudo saslpasswd2 -c test2 Password: Again (for verification): $ sudo sasldblistusers2 test2@prefix: userPassword
Aucune mention de MD5-DIGEST et je crois qu'il devrait y en avoir.

Si vous avez des idées…