Итак, наши сотрудники используют Zimbra OpenLDAP, однако, поскольку он не включает PosixAccount, мы не можем автоматически связать его с нашей Synology.
Итак, мой начальник хотел, чтобы я создал базу данных OpenLDAP и автоматически импортировал пользователей из ZimbraLDAP каждые 6 часов или около того и связал нашу Synology с этим новым OpenLDAP, что также было бы безопасной средой для наших интернеров для работы с LDAP.
Прежде чем вы спросите, я не могу изменить Zimbra OpenLDAP по разным причинам.
Итак, все работало великолепно, Пользователь был импортирован, и Synology наконец-то смогла увидеть этих пользователей. Однако пароль не сработал. После просмотра файлов экспорта я понял, что Zimbra использует SSHA512 для хеширования паролей, что не распознается моим OpenLDAP.
Однако, похоже, я не могу найти какой-либо способ установки для него патчей, поскольку, очевидно, OpenLDAP изменил свою структуру, и каждая найденная мной информация устарела.
Кто-нибудь знает простой способ научить OpenLDAP SSHA512 с недавней установкой?
pw-sha2.so
не включен по умолчанию при стандартной установке на OpenLDAP.
Вам нужно будет отредактировать Makefile и запустить make и make install из contrib/slapd-modules/passwd/sha2
каталог в вашем исходном дереве.
Затем вам нужно импортировать модуль sha2 в OpenLDAP, добавив в cn=config
следующий ldif:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /path/of/directory/with/pw-sha2.so
olcModuleLoad: pw-sha2
Например, в стандартном Debian это делается с помощью
ldapadd -H ldapi:/// -Y EXTERNAL -f the_five_lines_above.ldif
Теперь синология может распознавать пароли sha2.
Просто для справки (я не думаю, что вам это понадобится), если вы хотите, чтобы измененные пароли в Sinology с ldappasswd находились в SSHA-512, добавьте также:
dn: olcDatabase={-1}frontend,cn=config
changetype: modify
replace: olcPasswordHash
olcPasswordHash: {SSHA512}