有人知道为什么当我添加这 3 个 ACL 时,第三个 ACL 在 olcDatabase\={2}hdb.ldif 中显示为随机字符串吗?
ACL:
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=eastlands,dc=net" write
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=server,dc=net" write by * read
slapcat 输出:
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=server,dc=net" write
olcAccess: {1}to dn.base="" by * read
olcAccess:: ezJ9dG8gKiBieSBkbj0iY249TWFuYWdlcixkYz1lYXN0bGFuZHMsZGM9bmV0IiB3cml0ZSBieSAqIHJlYWQg
这有点随机,但它确实困扰着我。
我在 CentOS 7 上运行 openldap-2.4.39-7.el7。
答案1
请尝试:
echo "your_hash" | openssl enc -d -base64
您将看到哈希值中的内容。您可以确认@Sven 所说的内容(行尾的尾随空格,很有可能)。
答案2
我编写了这个简单的脚本来实现这一点: https://github.com/peppelinux/slapd_acl
只需安装它,pip3 install slapd_acl
它将以纯文本形式向我们显示 ACL(如果它们在 b64 中)。它还可以将它们导出到 ldap 修改 ldif 结构中,以便我们轻松修改它们并在之后立即提交。