2017-03-28 141 views
0

我目前的问题是,我无法阻止OpenLDAP将密码存储为明文。在一个旧的OpenLDAP版本,我在slapd.conf的OpenLDAP上的SSHA密码加密

ppolicy_hash_cleartext 
password-hash {SSHA} {SHA} 

所以进入下面的配置一旦密码被从我的明文应用程序发送的LDAP被加密并存储加密过。

不幸的是,我无法配置OpenLDAP 2.4.40。我发现slapd.conf在新版本中不再存在,而是配置发生在cn = config.ldif文件中。

我试图再次添加相同的配置,但它似乎没有效果。

EDIT:我加入的ldapmodify的olcPasswordHash:{SSHA}在olcBackend条目= {0} mdb.ldif,olcDatabase = {1} mdb.ldif,olcDatabase = {0} config.ldif和cn = config.ldif,我的密码仍以纯文本形式存储。

+0

你尝试添加相同的结构中,有'怎么样?适用于我。 – EJP

+0

你是什么意思,它适合你?你能描述你是如何启用这个选项的吗? – Stephan

+0

更改配置只会影响从该点向前修改的密码。它不影响现有的密码。 '适合我'对我来说似乎并不晦涩。 – EJP

回答

-1

花了一些时间,但终于弄清楚了。

载入描述ppolicy属性的模式。

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ppolicy.ldif 

创建包含以下内容的ppolicy_module.ldif并确保该ppolicy.la位于定义olcModulePath下。存放在/ etc/LDAP

dn: cn=module,cn=config 
objectClass: olcModuleList 
cn: module 
olcModuleLoad: ppolicy.la 
olcModulePath: /usr/lib/ldap 

文件添加ppolicy_module.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f ppolicy_module.ldif 

创建包含以下内容的ppolicy-overlay.ldif文件。确保olcDatabase编号。在这种情况下,它是olcD​​atabase = {1} mdb。将文件存储在/ etc/ldap下

dn: olcOverlay=ppolicy,olcDatabase={1}mdb,cn=config 
objectClass: olcPPolicyConfig 
olcOverlay: ppolicy 
olcPPolicyDefault: cn=ppolicy,ou=policies,dc=example,dc=com 
olcPPolicyUseLockout: FALSE 
olcPPolicyHashCleartext: TRUE 

添加LDIF文件。

ldapadd -Y EXTERNAL -H ldapi:/// -f ./ppolicy-overlay.ldif 

重新启动ldap。下

更多细节: https://fedorahosted.org/sssd/wiki/openldap_ppolicy

+0

所以你以前一直试图设置'ppolicy'属性没有'ppolicy'覆盖? – EJP

+0

最有可能的是。经过这么多的改变后,我不确定。我想知道谁不喜欢我的答案,并低估了。常见问题吧!有用。 – Stephan