OpenLDAP slapd mit Crypt SHA-512 Passwort-Hashes

Ich mache keinen Hehl daraus, dass ich keine LDAP-Guru bin. Was man über die Konfiguration des slapd wissen sollte und will findet man in der Dokumentation oder im Web.
Was bei der Konfiguration jedoch etwas Umdenken verlangt, ist dir Tatsache, dass die Software derzeit ihrer Dokumentation (sldap.conf(5)) etwas voraus ist. So liest slapd seine Konfiguration seit Version 2.3 aus LDIF-Konfigurationsdateien. Die Schreibweise der in der Manual Page genannten Konfigurationsoptionen wurde folglich geändert. So wurde zum Beispiel aus authz-policy ein olcAuthzPolicy. Soweit so gut.

Ich hatte gestern OpenLDAP und slapd auf einem Server eingerichtet. Somit ist es mir möglich Logins zentral zu verwalten und sie sind auf allen anderen Servern nutzbar. Dann schnell noch einen Testaccount im Directory abgelegt und getestet. Es gefiel mir allerdings nicht, dass das aktualisierte Passwort des Testaccounts als SSHA-Hash gespeichert wurde. Ich will aber, dass die Passwörter als Crypt SHA-512 Hash gespeichert werden.
Also warf ich schnell einen Blick in die Suchmaschine meines geringsten Vertrauens. Naja, alles was ich fand, war die Unfähigkeit der allseits geliebten Ubuntu Administratoren. Siehe: Google Suche nach ‘olcPasswordCryptSaltFormat $6$’.

In diesem Zusammenhang möchte ich besonders auf zwei Blog-Einträge eines Ubuntu, Citrix, System, usw. Administrators hinweisen. Zum einen das eigentliche Problem. Obwohl dieser Eintrag bereits Hinweise auf crypt(3) und slapd.conf(5) enthält, finde ich nur fehlerhafte Angaben wie zum Beispiel: olcPasswordCryptSaltFormat: $6$%.86s. Wie zum Geier kommen die die auf ein 86-Zeichen langes Salt‽
Und dann gibt es noch den Eintrag mit der vermeintlichen Lösung. Da wird doch neben ein paar zweifelhaften Angaben immer noch behauptet, dass Salt für einen Crypt SHA-512 Hash (zu erkennen am $6$) hätte 86 Zeichen.

Richtig ist, dass das Salt für Crypt SHA-256 ($5$) und SHA-512 Hasches bis zu16 Zeichen lang sein kann. Und so bringt man es seinem slapd bei:

1. Die Datei /tmp/slapd_crypt-sha-512.ldif mit folgendem Inhalt füllen.

dn: cn=config
changetype: modify
add: olcPasswordCryptSaltFormat
olcPasswordCryptSaltFormat: $6$%.16s
-
add: olcPasswordHash
olcPasswordHash: {CRYPT}

2. Dem slapd sagen, wie die Passwörter gespeichert werden sollen

ldapmodify -vQY EXTERNAL -H ldapi:/// -f /tmp/slapd_crypt-sha-512.ldif