首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openldap:访问权限不足

问openldap:访问权限不足
EN

Stack Overflow用户
提问于 2016-05-06 19:35:56
回答 1查看 2K关注 0票数 0

我有一个关于OpenLdap和导入ldiff的问题。我让Openldap在Windows上运行。

我的slapd.conf:

代码语言:javascript
复制
database    mdb
suffix      "dc=aaa,dc=com"
rootdn      "cn=Manager,dc=aaa,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw    secret

# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory ./data
searchstack 20
# Indices to maintain
index mail pres,eq
index objectclass pres
index default eq,sub
index sn eq,sub,subinitial
index telephonenumber
index cn

我可以使用apache active directory查看我的连接。

我能看到dc=aaa,dc=com。

我正在尝试导入一个ldif文件。

在顶部,它包含:

代码语言:javascript
复制
dn: cn=ab3java,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: ab3java

当我跑的时候

代码语言:javascript
复制
ldapmodify -a -x -D "cn=Manager,dc=aaa,dc=com" -w secret -H ldap:// -f ab3java.ldif

我得到以下错误:

代码语言:javascript
复制
adding new entry "cn=ab3java,cn=schema,cn=config"
ldap_add: Insufficient access (50)

我在ldap浏览器中看不到cn=config。

请给我建议。如何才能获得正确的访问权限?

问候,B。

EN

回答 1

Stack Overflow用户

发布于 2016-08-03 20:12:50

如果不将服务器迁移到联机配置数据库,则无法执行您想要执行的操作。您的服务器可能没有配置为使用在线配置数据库,查看如何使用slapd.conf进行配置,而不是/etc/openldap/slapd.d下的文件。可以同时使用slapd.d和slapd.conf,因此您需要检查。如果openldap没有配置为使用在线配置,那么您不能在服务器运行时更改其配置。您需要编辑/etc/openldap/slapd.conf并重启服务器。

在openldap中可以有多个后端数据库,每个后端数据库都有自己的后缀和访问控制。您在上面的示例中为其定义了访问控制的数据库是下面可以访问的数据库dc=aaa,dc=com。您尝试更新的数据库具有后缀cn=config。它是openldap存储其自己的配置的数据库(如果使用在线配置选项进行了配置)。因此,提供的凭据将不匹配。

一般来说,建议使用在线配置数据库,因为它是运行openldap的一种更好的方法。有关cn=config数据库的更多信息,请参阅以下链接:http://www.zytrax.com/books/ldap/ch6/slapd-config.html。本书还包含有关如何从静态配置迁移到在线配置的信息。

通常,openldap配置数据库将受到保护,以便只有运行ldap服务器的计算机上的root用户才能访问它。

您可以通过查看openldap /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif的配置文件来检查这一点。应该有一行类似于下面的行:

代码语言:javascript
复制
olcAccess: {0} 
   to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
     manage 
   by * none

这意味着唯一有权访问配置数据库的用户将是本地系统上的root用户。您可以添加根用户add和密码,但这只会使您的ldap服务器受到远程攻击。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37071391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档