如何将ACL添加到OpenLDAP中的属性

时间:2019-12-03 18:25:49

标签: ldap

系统:NethServer-7.6.1810,使用Centos7.6.1810的发行版

OpenLDAP:openldap-2.4.44-21.el7_6.x86_64

附加软件包:自助服务密码

我正在使用带有问题/答案方法的自助服务密码来更改密码。 我将答案存储在一个名为info的服装中。

$answer_objectClass = "extensibleObject";
$answer_attribute = "info";

原始帐户提供者是LDAP,我想用Active Directory替换。 在将LDAP替换为AD作为帐户提供者之前,所有用户都必须选择一个问题/答案。

虽然LDAP仍然是帐户提供者,但是具有控制台访问服务器权限的任何人都可以使用以下命令查看问题/答案:

# ldapsearch  -D cn=libuser,dc=directory,dc=nh -w `cat /var/lib/nethserver/secrets/libuser` -h 127.0.0.1

# toto, People, directory.nh
dn: uid=toto,ou=People,dc=directory,dc=nh
...
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: extensibleObject
shadowLastChange: 18220
userPassword:: cm9ibTEyMDQ0OQ==
info: {car}Honda

我创建了一个虚拟机来测试3个用户的场景。

在NethServer中,原始帐户提供者是LDAP。

1)我做了一个脚本来提取用户及其对file.ldif的回答

2)我删除LDAP。

3)我安装了Active Directory模块。

4)我将用户/组导入到AD。在导入中,AD为导入的用户创建新密码。

5)我在“ AD自助密码”中添加了一个部分。

6)我用info.ldip修改了广告以包含答案。

# /usr/bin/systemd-run -M nsdc -q -t /usr/bin/ldbmodify -H /var/lib/samba/private/sam.ldb /var/lib/samba/private/file.ldif

Modified 3 records successfully
#

然后,用户可以修改密码,以响应与LDAP相同的问题/答案。 一切运行正常。

问题: 我无法对LDAP中的答案进行加密,因为将用户导入Active Directory时,它无法读取加密的答案。我认为AD正在使用另一种加密/解密方式? 如果我不加密答案,则表明AD的导入工作正常。

虽然仍使用LDAP作为帐户提供者,并且在将其更改为Active Directory之前,我想添加一个附加的ACL,以便没有人可以读取存储在“信息”中的答案。

大量搜索之后,我找到了一种描述ACL的方法。我希望这是正确的方法。

access to attrs=info
    by self write
    by anonymous auth
    by group="cn=domain admins,ou=Groups,dc=directory,dc=nh" write
    by * none

如何创建newacl.ldif文件的内容,以便能够将该ACL添加到OpenLDAP(ldapmodify -Y EXTERNAL -H ldapi:/// -f /temp/newacl.ldif)

谢谢

Drukpa

0 个答案:

没有答案