标签: openldap

将 inetOrgPerson 添加到 account/posixAccount LDAP 条目

我有一个 LDAP 数据库,我们一直在使用它来管理我们主机上的用户帐户,这些条目将 account 和 posixAccount 作为 objectClass。现在我们想扩展它以将其用作通讯录。据我了解,这意味着我应该将 inetOrgPerson objectClass 以及必需的属性添加到人员条目中。

但是由于某种原因,这在 phpLdapAdmin 中是不可能的。当我点击objectClass上的add value按钮时它不会弹出,如果我手动输入它,它想删除account和posixAccount objectClasses。我在很多地方都读到过,应该可以将两个 objectClass:es 分配给条目,那么为什么 phpLdapAdmin 会抱怨?这是否有真正的原因不起作用,或者只是 phpLdapAdmin 是愚蠢的?

openldap ldap user-management

3
推荐指数
1
解决办法
6601
查看次数

OpenLDAP 无法启动,也不会记录原因

最近需要在我们的一台服务器上重新启动 OpenLDAP。当我重新启动服务时,命令提示符只是坐在那里等待某些东西。我从来没有得到[ OK ]. 如果我CTRL+C退出它,它会说

...killed.
/etc/openldap/cacerts/company.crt is not readable by "ldap[WARNING]
Run Code Online (Sandbox Code Playgroud)

为了证明一个观点,我/etc/openldap递归地生成了777。我仍然收到错误。

我没有看到任何/var/log改变来给我一些反馈。我需要在哪里解决这个问题?

这是一个运行 Fedora 8 的旧服务器(是的,我知道,怪以前的 IT 人员)。

openldap fedora

3
推荐指数
1
解决办法
5578
查看次数

针对 Active Directory 的 ldapsearch 验证失败 + 搜索参数错误

我正在使用ldapsearchOpenLDAP 工具在我们的公司 Active Directory 中搜索我的电子邮件和电话号码。此查询是一项测试,以确保我可以针对域进行身份验证,以便我可以使用 NTLM 身份验证设置 linux wiki。我的理论是,如果我可以成功查询 AD 信息,那么我离让我的 wiki 对 AD 进行身份验证更近了一步(我有在 ActiveDirectory 下设置 moin wiki 的说明)。

问题是我似乎无法ldapsearch正确查询。我在网上看到很多教程都表明-D应该是这样的-D "Americas\John_Marsharll";但是,ldap_bind: Invalid credentials (49)当我使用Americas\John_Marshall. 我唯一一次得到有意义的结果是当我使用以下参数进行查询时。但是,即使那样,我也无法弄清楚如何获取电子邮件和电话号码。

[John_Marshall@WN7-BG3YSM1 ~]$ ldapsearch -x -h 10.1.1.1 \
 -b "cn=Users,dc=Americas" mail telephonenumber -D "cn=John_Marshall,dc=Americas"
# extended LDIF
#
# LDAPv3
# base <cn=Users,dc=Americas> with scope subtree
# filter: (objectclass=*)
# requesting: mail telephonenumber -D cn=John_Marshall,dc=Americas 
#

# search result
search: 2 …
Run Code Online (Sandbox Code Playgroud)

openldap active-directory ldap

3
推荐指数
1
解决办法
2万
查看次数

LDAP:不允许使用属性“givenName”

好的,所以我第一次学习和配置 openLDAP 部分基于本教程:

http://www.rjsystems.nl/en/2100-d6-openldap-provider.php

我正在尝试添加一个示例用户,但我想我在教程中注意到了一个类型。在示例 ldif 中,作者使用了cn: Christopher. 我认为 cn 应该是一个较短的名称,如果不完全相同,则类似于 uid。所以在我的 ldif 中,我同时设置了cngn(givenName),但是我收到了关于 givenName 的错误:

ldap_add: Object class violation (65)
    additional info: attribute 'givenName' not allowed
Run Code Online (Sandbox Code Playgroud)

这是我的 ldif:

dn: cn=tarcuri,ou=groups,dc=example,dc=com
cn: jsmith
gidNumber: 20000
objectClass: top
objectClass: posixGroup

dn: uid=tarcuri,ou=people,dc=example,dc=com
uid: jsmith
uidNumber: 20000
gidNumber: 20000
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
cn: jsmith
gn: John 
sn: Smith
loginShell: /bin/bash
homeDirectory: /home/jsmith
userPassword: john
Run Code Online (Sandbox Code Playgroud)

我将如何修改我的 ldif 文件以正确设置“givenName”,因为它似乎person应该能够有一个名字。sn毕竟需要。 …

openldap ldap

3
推荐指数
1
解决办法
2万
查看次数

openldap 是否适合大型生产部署?

大约 1 年以来,我们一直openldapubuntu服务器上使用10.04LTS来验证大约 20 个 IT 用户,并且一切运行良好(LDAP 服务器上的操作基本上仅限于使用apache directory studio创建/删除用户)。

最近(6 个月前)我们还开始实施openldap(openldap-2.4.21/debian) 作为我们网站的外部身份验证系统,该系统正在从外部 CMS 迁移到我们正在使用Drupal CMS. 我们有一个 45,000 用户的数据库,但事情进展得并不顺利。我们遇到的问题是:
-备份还原后 ldap 崩溃,需要恢复
- ldap 恢复工具在某些情况下无法恢复 ldap 数据库
-slapd 消耗 100% CPU 而网站上没有身份验证活动。

由于内部缺乏资源和知识,到目前为止我们所做的只是找到保持 LDAP 运行的方法,而没有真正调查这些问题中的任何一个(用于monit在崩溃时重新启动它,db_recover在需要时恢复数据库,并slapcat重新创建db_recover失败时从头开始创建数据库)。

最近,我们进行了一轮面试,聘请了一名高级基础设施工程师来协助我们处理各种基础设施。我们遇到的问题。几位候选人确认他们要么已经或听说过openldap大型生产环境中的问题,并且从未设法提出一个稳定的独立openldap服务器,而是不得不提出冗余部署(复制、负载平衡、自动恢复/重启例程) ) 以保持 LDAP 运行。一些候选人甚至说这openldap不适合生产环境,相反,使用替代品Novel eDirectory是必要的。

问:如果您有在拥有数千个用户的生产环境中处理 ldap 的经验,您是否有事实可以分享,这些事实往往证明openldap这种设置确实不稳定,并且确实建议使用其他 ldap 服务器?

ubuntu openldap ldap

3
推荐指数
1
解决办法
2939
查看次数

你如何在 openldap 2.4 上设置管理员密码

我开始使用 openLdap 2.4 并且遇到了一些麻烦,我看到的所有示例似乎都参考了使用文本配置文件 slapd.conf 的以前的版本,但是从我在有关 v2.4 的讨论中看到的,这是已弃用。

我以为我需要添加一个用户,并以他们的身份登录> 但是当我尝试运行 ldapadd 命令时,我收到输入密码的提示:

Enter LDAP Password: 
ldap_bind: Invalid credentials (49)
Run Code Online (Sandbox Code Playgroud)

注意:我通过 yum(在 Fedora 15 中)安装了 openldap 服务器,并且已经安装了 phpldapadmin 但如果有人有建议,也可以在命令行上尝试。

安装并启动后,我从搜索中得到以下响应:

# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
# extended LDIF
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts 
dn:
namingContexts: dc=my-domain,dc=com    
# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
Run Code Online (Sandbox Code Playgroud)

如果有帮助,我很高兴删除并重新安装服务器,任何人都可以提供适用于 2.4 版的提示链接以进行新设置吗?

linux openldap

3
推荐指数
2
解决办法
2万
查看次数

OpenLDAP:更改密码后未创建 pwdChangedTime 属性?

要将 check_mk 的 Multisite 与 OpenLDAP集成。配置 LDAP 连接器后,打开“用户和联系人”页面时出现以下错误:

Error executing sync hook
The "Authentication Expiration" attribute (pwdchangedtime) could not
be fetchedfrom the LDAP server for user {u'cn': [u'noreply']}.
Run Code Online (Sandbox Code Playgroud)

以下是我为实现密码策略覆盖所做的所有步骤:

为 OpenLDAP 服务器安装覆盖模块:

yum install openldap-servers-overlays
Run Code Online (Sandbox Code Playgroud)

将以下行添加到 /etc/openldap/slapd.conf:

include     /etc/openldap/schema/ppolicy.schema

modulepath  /usr/lib64/openldap
moduleload  ppolicy.la
Run Code Online (Sandbox Code Playgroud)

然后我重新启动 OpenLDAP 并尝试更改密码。我确定它已成功更改,但pwdChangedTime在运行时看不到该属性ldapsearch

$ ldapsearch -x -D "cn=Manager,dc=domain,dc=com" -y .passwd.cnf "cn=noreply"
dn: cn=noreply,ou=it,dc=domain,dc=com
cn: noreply
mail: noreply at domain.com
maildrop: noreply at domain.com
sn: No
uid: noreply
objectClass: inetOrgPerson
objectClass: …
Run Code Online (Sandbox Code Playgroud)

openldap ldap centos5 password-policy

3
推荐指数
1
解决办法
9646
查看次数

如何将包含 UID 的用户添加到在 CentOS7 上运行的 OpenLDAP?

添加用户

用户名文件

dn: uid=sampleuser,ou=people,dc=my-domain,dc=com
objectClass: top
objectClass: inetOrgPerson
cn: sample user
uid: sampleuser
Run Code Online (Sandbox Code Playgroud)

问题

[root@host ~]# ldapadd -x -W -D "cn=Manager,dc=my-domain,dc=com" -f user.ldif
Enter LDAP Password:
adding new entry "uid=sampleuser,ou=people,dc=my-domain,dc=com"
ldap_add: Invalid syntax (21)
        additional info: objectClass: value #1 invalid per syntax
Run Code Online (Sandbox Code Playgroud)

尝试解决问题

更改inetOrgPersonuidObject并再次创建用户:

[root@controller ~]# ldapadd -x -W -D "cn=Manager,dc=my-domain,dc=com" -f user.ldif
Enter LDAP Password:
adding new entry "uid=sampleuser,ou=people,dc=my-domain,dc=com"
ldap_add: Object class violation (65)
        additional info: no structural object class provided
Run Code Online (Sandbox Code Playgroud)

尝试 2 解决问题

对象类 …

openldap ldap

3
推荐指数
1
解决办法
6634
查看次数

如何在不同端口上使用带有 SSL 的 ldapsearch(-p 不起作用)?

我有一个 OpenLDAP 服务器在测试环境中运行,在 LAN 转发端口 8636 上有防火墙,返回 slapd 侦听 636(对于不支持 START_TLS 的旧应用程序)。

为了测试,我通过-p 8636在命令行中指定开始在 LAN 上。由于某种原因,这失败了,所以我继续在 LDAP 服务器上尝试了相同的命令。我犯了同样的错误:

ldap1# ldapsearch -x -H ldaps://ldap1 -p 8636
ldapsearch: -H incompatible with -p
Run Code Online (Sandbox Code Playgroud)

嗯?为什么这是个问题?如果我不指定端口号,则一切正常:

ldap1# ldapsearch -x -H ldaps://ldap1
# extended LDIF
#
# LDAPv3
...
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以告诉ldapsearch在不同的端口上使用 SSL 还是我错过了语法中的某些内容?

更新每个答案

ldap1# ldapsearch -x -H ldaps://ldap1:636
# extended LDIF
#
# LDAPv3
Run Code Online (Sandbox Code Playgroud)

...

linux openldap ldap

3
推荐指数
1
解决办法
4536
查看次数

SPN 是否特定于 Windows 和 Active Directory?

服务主体名称是否特定于 Windows 上的 Active Directory?或者它们是否也存在于 Linux OpenLDAP / Kerberos KDC 服务器中?

openldap active-directory kerberos spn

3
推荐指数
1
解决办法
162
查看次数