将 ldap 用户添加到现有的 openldap 服务器

将 ldap 用户添加到现有的 openldap 服务器

我尝试将用户添加到现有且正在运行的 openldap 服务器。该服务器由其他人设置(很难联系到...)并且正在积极使用。现在我想添加新用户,但由于访问权限不足而陷入困境。

我尝试添加用户的命令如下:

ldapadd -H ldap://servername -D "cn=admin,ou=..." -W -f ldap-userfile

我得到的答复是

adding new entry "cn=username,ou=..."
ldap_add: Insufficient access (50)
    additional info: no write access to parent

上述命令中使用的信息来自

ldapsearch -x -LLL uid=*

这是唯一一个admin名字带有 的。

注意:我是安装了 ldap 的服务器上的 root 权限用户,因此我可以执行几乎任何操作。我唯一应该避免的是永久更改任何密码,因为其他人也必须执行一些任务。

我确实查看了 /etc/openldap,但无济于事。我对 openldap 一无所知,所以它对我没有帮助。在下面/etc/openldap/certs/password我可以找到密码,但我不知道该用它做什么。

如果有帮助:服务器正在运行CentOS 6.10,openldap版本是2.4.40。

编辑:已解决 请参阅下面我自己的回答。

答案1

好的,我用这个解决了回答

总结一下:我知道该用哪个 id

ldapsearch -Y EXTERNAL -Q -H ldapi:/// -LLL -o ldif-wrap=no -b cn=config '(objectClass=olcDatabaseConfig)' olcAccess

然后跑了

ldapadd -H ldapi://servername -D "cn=Manager,..." -W -f ldapfile

答案2

为新用户创建 LDIF 文件 以下是用于创建新用户的示例 LDIF 文件。

# cat adam.ldif
dn: uid=adam,ou=users,dc=tgs,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: adam
uid: adam
uidNumber: 16859
gidNumber: 100
homeDirectory: /home/adam
loginShell: /bin/bash
gecos: adam
userPassword: {crypt}x
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

现在,使用ldapadd命令和上述ldif文件在我们的 OpenLDAP 目录中创建一个名为的新用户,adam如下所示:

# ldapadd -x -W -D "cn=ramesh,dc=tgs,dc=com" -f adam.ldif
Enter LDAP Password:
adding new entry "uid=adam,ou=users,dc=tgs,dc=com"

相关内容