我在Fedora Core 13中使用Openldap 2.4.11.
我正在尝试创建密码策略:
dn: cn=default,ou=policies,dc=estream,dc=com,dc=my
objectClass: person
objectClass: pwdPolicy
objectClass: top
cn: default
pwdAttribute: 2.5.4.35
sn: test
Run Code Online (Sandbox Code Playgroud)
如果我将pwdAttriute指定为"userPassword",则会收到错误消息
LDAP: error code 21 - pwdAttribute: value #0 invalid per syntax
Run Code Online (Sandbox Code Playgroud)
相反,我强制使用OID作为pwdAttribute:
pwdAttribute: 2.5.4.35
Run Code Online (Sandbox Code Playgroud)
对于pwdAttribute,可以使用"userPassword"而不是"2.5.4.35"吗?
我尝试在cn = config中配置openldap来加载模块ppolicy.la,但是在重启slapd服务几次后它似乎也没有工作:
dn: cn=module{0},cn=config
objectClass: olcConfig
objectClass: olcModuleList
objectClass: top
cn: module{0}
olcModuleLoad: {0}/usr/lib64/openldap/ppolicy.la
Run Code Online (Sandbox Code Playgroud) 我在XUBUNTU 12.04上运行OpenLDAP 2.4-28 .
我正在阅读"掌握OpenLDAP"并配置本书.
当我尝试执行以下搜索时(第47页):
$ ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base
Run Code Online (Sandbox Code Playgroud)
我被提示输入密码.然后我输入"秘密"但我收到以下错误:
ldap_bind: Invalid Credentials (49).
Run Code Online (Sandbox Code Playgroud)
以下是我的slapd.conf:
# slapd.conf - Configuration file for LDAP SLAPD
##########
# Basics #
##########
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
# modulepath /usr/local/libexec/openldap
moduleload back_hdb
##########################
# Database Configuration #
##########################
database hdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw secret
directory /var/lib/ldap
# directory /usr/local/var/openldap-data …Run Code Online (Sandbox Code Playgroud) 编辑:问题终于解决了.详细信息可在本消息末尾的故障排除部分中找到.
我在这里留下详细的步骤,以防它可以帮助某人.
文档经常过时,您会找到多种方法来实现相同的目标.
根据我所读到的,创建服务器的现代方法是使用/etc/openldap/slapd.ldif而不是/etc/openldap/slapd.conf.以下是使用letsencrypt证书的示例配置.
您通常可以通过slapd.conf在slapd.ldif其前面添加指令来转换指令olc.只需确保这是在正确的dn块中.
确保您创建了一个/etc/openldap/slapd.dldap用户可读写的目录,并且该目录slapd已停止.插入你slapd.ldif到slapd.d与slapadd命令.我运行它sudo -u ldap是为了slapadd创建ldap用户拥有的文件.你也可以slapadd不用sudo然后运行chown -R ldap:ldap /etc/openldap/slapd.d.这里重要的是/etc/openldap用户slapd运行时所有人的目录都是可读/可写的.
$ sudo -u ldap slapadd -d -1 \
-F /etc/openldap/slapd.d \
-n 0 \
-f /etc/openldap/slapd.ldif
Run Code Online (Sandbox Code Playgroud)
OpenLDAP配置:
# /etc/openldap/slapd.ldif
------------------------------------
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /run/openldap/slapd.args …Run Code Online (Sandbox Code Playgroud) 我在Ubuntu 19.04 VM上设置了OpenLDAP服务器,并允许复制(使用本教程:https : //help.ubuntu.com/lts/serverguide/openldap-server.html#openldap-server-replication)。复制的一切似乎都可以。我尚未设置消费者服务器,因为我的代码将像一个服务器一样,定期拉出修改后的元素。
修改/添加的条目已正确检索,但是我想删除项目,但似乎无法正常工作。
如RFC https://tools.ietf.org/html/rfc4533#section-3.3.2所述,我应该收到一个同步信息消息,其中包含名为“ syncUUIDs”的属性
syncUUID包含一组自上次同步操作以来已从内容中删除的条目和引用的UUID
我的同步请求控制初始化
syncRequestValue = BerConverter.Encode("{iob}", new object[] { refreshOnly, cookieSrc, true });
testdsrc = new DirectoryControl("1.3.6.1.4.1.4203.1.9.1.1", syncRequestValue, true, true);
Run Code Online (Sandbox Code Playgroud)
将控件添加到请求,然后发送它。
request.Controls.Add(testdsrc);
connection.SendRequest(request);
response = (SearchResponse)connection.SendRequest(request);
Run Code Online (Sandbox Code Playgroud)
获取条目,这里我删除了1个条目,修改了1个并添加了1个,我只得到2个条目(添加/修改的条目)
entries = response.Entries;
if (response.Entries.Count > 0)
{
object[] controlvalue = BerConverter.Decode("{Ob}",
response.Controls[0].GetValue());
cookieSrc = (byte[])controlvalue[0];
var refreshDeletes = (bool)controlvalue[1];
File.WriteAllBytes(strFileName, cookieSrc);
}
Run Code Online (Sandbox Code Playgroud)
您是否知道它来自我的LDAP服务器的配置还是来自C#中的代码?
我不知道是否:
要么
对于我的生活,我似乎无法在任何地方找到这个,如果有人甚至可以给我一个链接,我会非常感激.
我们正试图在openLDAP中启用SSHA哈希.默认情况下,它以明文形式存储密码,我认为这是犯罪行为,但是嘿,我是AD的家伙,所以我知道什么.但是如果您愿意的话,您会认为它们可以让您轻松找到打开哈希所需的信息.你不会选择吗?
我正在使用kerberos进行SASL身份验证的openLDAP.我遇到了这个身份验证的问题.
首先,我用kinit获得kerberos票.当我制作一个klist时,会显示该票证.所以,没问题.但是当我试图制作ldapwhoami时.我收到一个错误:
[hue@sandbox ~]$ kdestroy
[hue@sandbox ~]$ kinit vishnu
Password for vishnu@MORTO.COM:
[hue@sandbox ~]$ klist
Ticket cache: _FILE:/tmp/krb5cc_1007
Default principal: vishnu@MORTO.COM
Valid starting Expires Service principal
05/29/14 06:42:52 05/29/14 16:42:52 krbtgt/MORTO.COM@MORTO.COM
renew until 06/05/14 06:42:48
05/29/14 06:42:57 05/29/14 16:42:52 ldap/morto.com@MORTO.COM
renew until 06/05/14 06:42:48
[hue@sandbox ~]$ ldapwhoami
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Other (e.g., implementation specific) error (80)
additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information ()
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里搜索.请帮我.
我正在尝试通过LDIF文件应用配置.我在LDAP服务器上以管理员身份绑定,我收到以下错误消息:
LDAP:错误50 - 访问权限不足
我作为管理员绑定,我能够执行任何查询或任何更改,如创建新条目,修改现有条目等.
我不知道还有什么可做的,因为我已经作为管理员绑定了.此外,我甚至构建了一个全新的LDAP服务器来测试它,我也无法应用任何LDIF文件.
我正在使用Apache Directory Studio LDIF编辑器工具来推送LDIF文件,如下所示:
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by cn=replicator,ou=Users,dc=example,dc=com write
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: {1}syncprov
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: {0}syncprov
olcSpCheckpoint: 100 10
olcSpSessionlog: 100
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?到目前为止,我已阅读了大量文章,但没有成功.
我不熟悉证书和openldap.我试图端口别人的工作,从旧的操作系统CentOS-6有openldap-2.4.23.在旧操作系统上,ldap连接没有问题.现在CentOS-6,我在进行简单绑定时遇到以下错误:
TLS error -8179:Peer's Certificate issuer is not recognized.
我/etc/openldap/ldap.conf有一条线:
TLS_CACERTDIR /etc/openldap/certs
Run Code Online (Sandbox Code Playgroud)
我尝试注释掉该行并将以下内容放入文件中,但这并没有改变我收到的错误消息.
tls_reqcert allow
Run Code Online (Sandbox Code Playgroud)
我也尝试只放入以下行,ldap.conf但没有改变错误.我根据这个问题中的信息尝试了这个.
LDAPTLS_CACERT /etc/ssl/certs/ca-bundle.crt
Run Code Online (Sandbox Code Playgroud)
我将文件复制到以下目录中:
/etc/pki/tls/certs/ca.crt
/etc/pki/tls/certs/server.crt
/etc/pki/tls/private/server.key
Run Code Online (Sandbox Code Playgroud)
我别无选择,只能使用openldap-2.4.23.不知道是什么导致了这个错误或者我可以做些什么来排除故障?
提前致谢.SP
是否可以通过一行推荐从 LDAP 中删除所有条目?
我试过:
ldapdelete -r 'cn=*,dc=domain,dc=com' -w
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我没有更好的想法;/