我到处寻找解决我的问题的方法,但仍未找到它.我有两个简单的文件,如sladp.conf和mytree.ldif,当我尝试向mytree.ldif添加一些东西时,它一直在问我一个密码(我相信它是在slapd.conf中定义的roopw),但它不起作用.我真的需要帮助.
这些是我的文件:
slapd.conf中
database dbd
suffix "dc=ers,dc=uminho,dc=pt"
rootdn "cn=Manager,dc=ers,dc=uminho,dc=pt"
rootpw ersadmin
directory /usr/local/var/openldap-data
Run Code Online (Sandbox Code Playgroud)
mytree.ldif
dn: dc=ers, dc=uminho, dc=pt
objectclass: dcObject
objectclass: organization
o: ERS
dc: ers
dn: cn=Manager,dc=ers,dc=uminho,dc=pt
objectclass: organizationalRole
cn: Manager
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的和我的回应:
sudo ldapadd -x -D "cn=Manager,dc=ers,dc=uminho,dc=pt" -W -f /etc/ldap/mytree.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用加密密码了
slappasswd -h {SHA} -s ersadmin
Run Code Online (Sandbox Code Playgroud)
并更改我的slapd.conf文件
password-hash {SHA}
rootpw {SHA}pLEBIPx4rW3eebpwACBGAZkNH4CVBRGW
Run Code Online (Sandbox Code Playgroud)
但它不起作用.提前致谢.
正确的语法是什么,使用ldapsearch,返回AD域中的所有Groups\OU及其嵌套的Groups\OU?我试图从Linux Box查询Windows AD DC,并且需要将此结果返回给Linux机器.
谢谢你的帮助
当我运行下一个命令时,它全是KO:
ldapsearch -x -b "dc=icm,dc=movismart,dc=com" -D "cn=Manager,dc=icm,dc=movismart,dc=com" -W
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,这是一个问题"无效的凭证(49)":
ldapsearch -x -b "dc=icm,dc=movismart,dc=com" -D "uid=sysadmin,dc=icm,dc=movismart,dc=com" -W
Run Code Online (Sandbox Code Playgroud)
我的slapd.conf:
loglevel 1
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/dyngroup.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
access to attrs=userPassword
by dn="cn=Manager,dc=icm,dc=movismart,dc=com" write
by self write
by anonymous auth
by * none
access to dn.base="" by * read
access to *
by dn="cn=Manager,dc=icm,dc=movismart,dc=com" write
by * read
database bdb
suffix "dc=icm,dc=movismart,dc=com"
rootdn "cn=Manager,dc=icm,dc=movismart,dc=com"
rootpw {SSHA}9xDlp+gBzA2E4EHXb4KXVkylAll7WmZd
directory /var/lib/ldap
index objectClass eq,pres …Run Code Online (Sandbox Code Playgroud) 我有一个在需要解除的节点上运行的主LDAP服务器(openldap).我有几个消费者节点在做一个syncrepl.我已经指定另一个节点(其中一个消费者)成为新的主人,所以我可以解散旧的主人.
我已将所有其他消费者更新为第二个主人的syncrepl.
启发式地,将这个新服务器从消费者(奴隶)"推广"到主人的过程是什么?
配置行在消费者中看起来像这样.
olcSyncrepl: {0}rid=312 provider="ldaps://<new master>/" type=refreshAndPersist interval="00:00:01:00" retry="60 30 300 +" searchbase="<base of tree>" bindmethod=sasl saslmech=gssapi keepalive=3540:10:3
Run Code Online (Sandbox Code Playgroud)
在新的master中它是同一行,除了提供者的值是旧的master.这只是一个删除这条线的情况吗?如果是这样,我可以通过停止slapd并从hdb.ldif文件中删除该行并重新启动来实现.或者我是否需要在RDN上执行ldapmodify?
已经使用OpenDJ和OpenAM的人们的经验是什么?旧版本似乎可以免费使用,但新版本似乎没有免费使用.它们与现有的商业产品相比如何?它们看起来比使用带有CAS的OpenLDAP更好,但看起来并不自由.
我已经在Centos 7上运行了一个LDAP服务器.id,getent passwd,用户工作.但'ssh'失败了.从/ var/log/secure看来,身份验证似乎成功了,但是pam不喜欢其他东西.我不确定如何缩小问题所在.
在/ var /日志/安全:
May 11 16:33:40 localhost sshd[45055]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=ldapserver.abc.com user=user1
May 11 16:33:40 localhost sshd[45055]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=ldapserver.abc.com user=user1
May 11 16:33:40 localhost sshd[45055]: pam_sss(sshd:account): Access denied for user user1: 6 (Permission denied)
May 11 16:33:40 localhost sshd[45055]: Failed password for user1 from ldapserver.abc.com port 55185 ssh2
May 11 16:33:40 localhost sshd[45055]: fatal: Access denied for user user1 by PAM account configuration …Run Code Online (Sandbox Code Playgroud) 当我尝试使用SLAPD在Docker中设置LDAP服务器并使用示例数据库将其连接到PostgreSQL Docker时,仅加载第一个对象类的属性映射.
生成以下日志:
ldaptest_ldap_1 | 57938399 backsql_load_schema_map(): oc_query "SELECT id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM ldap_oc_mappings"
ldaptest_ldap_1 | 57938399 objectClass: id="1" name="inetOrgPerson" keytbl="persons" keycol="id" create_proc="SELECT create_person()" create_keyval="" delete_proc="DELETE FROM persons WHERE id=?" expect_return="0"create_hint=""
ldaptest_ldap_1 | 57938399 backsql_load_schema_map(): objectClass "inetOrgPerson":
ldaptest_ldap_1 | keytbl="persons" keycol="id"
ldaptest_ldap_1 | 57938399 create_proc="SELECT create_person()"
ldaptest_ldap_1 | 57938399 delete_proc="DELETE FROM persons WHERE id=?"
ldaptest_ldap_1 | 57938399 expect_return: add=0, del=0; attributes:
ldaptest_ldap_1 | 57938399 objectClass: id="2" name="document" keytbl="documents" keycol="id" create_proc="SELECT create_doc()" create_keyval="" delete_proc="DELETE FROM documents WHERE id=?" expect_return="0"create_hint=""
ldaptest_ldap_1 | 57938399 backsql_load_schema_map(): …Run Code Online (Sandbox Code Playgroud) 我目前正在建设用Objective-C的iOS应用和含有雨燕的OpenSSL和OpenLDAP的框架,它建立并没有任何问题运行.
但是,当我尝试将应用程序存档以供发布时,会出现以下错误:
以下是一些其他信息:
Xcode版本是7.3.1(7D1014)
该项目是一个Xcworkspace(包含一个podfile,但框架没有通过Cocoapods集成)
更新:
进一步测试后,发生了另一个makefile错误(在任何情况下类似的问题)
此图像说明了所使用的所有框架和库以及发生的错误.
这是构建日志:
我感谢任何帮助,并乐意提供任何其他信息.
我使用在WebLogic 12.1.2服务器上运行的JSF 2.1和JEE 6设置了一个Web应用程序,并使用openLDAP进行身份验证.我一直注意到在应用程序中加载任何页面都会导致对LDAP的多个BIND请求 - 每一次!
我已经阅读了很多材料,并在Weblogic中配置了LDAP提供程序,这样就可以激活我能找到的任何缓存.我特别设定了
我还仔细检查了entryUUID属性是否存在.我在WebLogic或LDAP上都不太了解,但我已经阅读了关于配置缓存的任何页面,但是仍然有很多请求到LDAP(是的,我在更改后重新启动了服务器.)
我很感激任何帮助,见解或猜测可能是什么原因或我如何进一步调试这个问题.我不太确定要附加哪个配置文件,但如果有任何需要我很乐意提供它.
LDAP请求全部如下所示:
# journalctl -u slapd
# … many of these …
Sep 16 23:06:03 server.org slapd[15038]: daemon: read active on 13
Sep 16 23:06:03 server.org slapd[15038]: daemon: epoll: listen=7 active_threads=0 tvp=zero
Sep 16 23:06:03 server.org slapd[15038]: daemon: epoll: listen=8 active_threads=0 tvp=zero
Sep 16 23:06:03 server.org slapd[15038]: conn=1109 op=32 BIND anonymous mech=implicit ssf=0
Sep 16 23:06:03 server.org slapd[15038]: conn=1109 op=32 BIND dn="tpid=NQ00000013,ou=people,dc=de,dc=foobiz,dc=com" method=128
Sep 16 23:06:03 server.org slapd[15038]: …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取某个用户所属的所有组。
我在 ldap 中有以下结构:
o=myOrganization
ou=unit1
cn=admin
cn=guess
Run Code Online (Sandbox Code Playgroud)
和
ou=users
cn=ann
cn=bob
cn=carla
Run Code Online (Sandbox Code Playgroud)
myOrganization 是组织的一个实例unit1 是 OrganizationUnit 的一个实例admin并且guess都是 GroupOfNames 并且每个人都是成员ann, bob, 和carla是 Person 的实例目前,我在 python 上使用 ldap 模块,这就是我所拥有的:
import ldap
l = ldap.initialize("ldap://my_host")
l.simple_bind_s("[my_dn]", "[my_pass]")
ldap_result = l.search("[BASE_DN]", ldap.SCOPE_SUBTREE, "(&(objectClass=Person)(cn=ann))", None)
res_type, data = l.result(ldap_result, 0)
print(data)
Run Code Online (Sandbox Code Playgroud)
我能够得到用户ann;但是,我如何才能让组Ann所属?
我试过,来自这个页面的以下内容:
search_filter='(|(&(objectClass=*)(member=cn=ann)))'
results = l.search_s([BASE_DN], ldap.SCOPE_SUBTREE, search_filter, ['cn',])
Run Code Online (Sandbox Code Playgroud)
但是我得到了一个空列表。我还尝试了各种查询组合,但它们都返回空。
PS:我在 linux 机器上使用 OpenLDAP