如何为OpenLDAP设置密码哈希?
我在Ubuntu 12.04上有以下版本:
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中消失了.我应该更改哪个文件?
好的.我在IRC的帮助和阅读手册中找到了这个.
假设您不想重新创建任何内容,只需在现有LDAP后端中添加密码哈希,并且您正在运行Ubuntu(这仅在Ubuntu机器上进行测试,但该方法应该与操作系统无关): 我们将使用ldapmodify来添加,修改和删除条目. 第1步:创建test.conf 我们将创建一个名为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用户),它将是olcD??atabase = { – 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次. 您可以通过将man ldapmodify和scrollldown添加到手册页底部附近来阅读更多相关信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |