我想将架构添加到我继承的 OpenLDAP 数据库中。
ldapadd -vY EXTERNAL -H ldapi:/// -f schema.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
...
adding new entry "cn=openssh-lpk,cn=schema,cn=config"
ldap_add: Insufficient access (50)
邮件列表上关于相同外部 SASL 身份验证问题的讨论让我相信我需要“将 SASL 外部身份映射到cn=config
rootdn”。我将如何做到这一点?
在试图解决这个问题时,我创建了一个类似的 VM 并从 Ubuntu 存储库安装了 slapd。像上面这样的外部 SASL 请求开箱即用。我试图比较cn=config
两个系统之间的设置,但未能确定任何明显的线索来执行此任务。生产数据库最初是在 Gentoo 上运行的。我将它迁移到 Ubuntu,并且一直在愉快地编辑帐户并使用它。cn=config
但是,自从在迁移期间转换为格式后,我一直无法修改配置数据库。
确保数据库 ( ) 的一个
olcAccess
属性如下所示:{0}config
/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
在 Ubuntu 的默认配置中,这是
olcAccess
配置数据库的唯一条目。如果您有更多条目,请确保我提到的条目是第一个(即{0}
),其他条目紧随其后({1}
等{2}
)。否则其他之一可能匹配,分配太低的权限并停止遍历列表。如果该列表中的其他用户/DN 具有足够的 (
write
,manage
) 权限,您最好尝试使用与该用户/DN一起使用的LDIF
文件来修改 olcAccess。ldapmodify
如果做不到这一点,你可以这样做:
但是你应该在之后修复
CRC32
那个文件。