OpenLDAP: slapd (Sep 19 2013 22:49:31) $ buildd@batsu:/build/buildd/openldap-2.4.28/debian/build/servers/slapd
OpenLDAP现在提供SSHA作为默认哈希.我想使用不同的哈希.然而,旧的教程基于编辑/etc/ldap/slapd.conf,它在较新版本的OpenLDAP中消失了.我应该更改哪个文件?
假设您不想重新创建任何内容,只需在现有LDAP后端中添加密码哈希,并且您正在运行Ubuntu(这仅在Ubuntu机器上进行测试,但该方法应该与操作系统无关):
第1步:创建test.conf
dn: olcDatabase={-1}frontend,cn=config add: olcPasswordHash olcPasswordHash: {CRYPT}
如果您有不同的数据库,则dn是不同的.我开始知道什么地方都没有,所以我模拟了:
sudo su # do this as root cd /etc/ldap/ mkdir test.d slaptest -f test.conf -F test.d
最后一个命令会将现有的test.conf(我的着名旧版slapd.conf的名称)转换为新的cn = config格式.
如果您对test.d目录进行树形化,并且如果您阅读了每个ldif文件,则会找到您要修改的文件.在我的情况下(可能是所有Ubunut用户),它将是olcDatabase = { – 1} frontend.ldif.
另一件事是cn = config.这是因为ldif文件存在于cn = config目录下.
第2步:运行ldapmodify
root@test32giab:/etc/ldap# ldapmodify -Y EXTERNAL -H ldapi:/// -f test.conf SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={-1}frontend,cn=config"
如果现在检查ldif文件,它应该具有olcPasswordHash属性.
如果要指定哈希的格式,可以执行此操作.假设您正在执行前两个步骤,您可以注释掉所有内容或以新文件开头.该文件需要包含以下行:
dn: cn=config add: olcPasswordCryptSaltFormat olcPasswordCryptSaltFormat: $5$rounds=8000$%.16s
使用相同的ldapmodify命令运行此命令.现在,LDAP帐户将使用SHA-256($6 $是SHA-512)加上16-char长盐进行哈希处理,并进行8000次哈希处理.
dn条目是cn = config,因为该值(基于我使用步骤1的模拟)在cn = config.ldif文件中.
要了解格式,请查看http://www.openldap.org/lists/openldap-technical/201305/msg00002.html
如果您正在尝试不同的格式,可以尝试使用替换方法.所以文件看起来像这样.
dn: cn=config replace: olcPasswordCryptSaltFormat olcPasswordCryptSaltFormat: $5$%.16s
现在我删除了8000次迭代.我认为默认情况下SHA5-256-CRYPT被哈希5000次.