如何为OpenLDAP设置密码哈希?

前端之家收集整理的这篇文章主要介绍了如何为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添加到手册页底部附近来阅读更多相关信息.

猜你在找的Bash相关文章