ldapsearch -H <URL> -b <BASE> -s sub -D <USER> -x -w <PW>
Run Code Online (Sandbox Code Playgroud)
工作正常
kinit <USER>@<REALM>
ldapsearch -H <URL> -b <BASE> -s sub
Run Code Online (Sandbox Code Playgroud)
失败:
text: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1
kinit Administrator@<REALM>
ldapsearch -H <URL> -b <BASE> -s sub
Run Code Online (Sandbox Code Playgroud)
也能正常工作
通常的谷歌搜索没有发现任何感兴趣的东西。(通常有关于时间偏差和使用userPrincipalNamevs 组件名称的评论-D,但是在使用 时应该注意kinit。)
有任何想法吗?
当我安装 OpenLDAP 时,我被要求为管理员用户创建密码,但现在我意识到还有另一个管理员用户cn=config的密码我不知道。有谁知道我应该如何更改或获取该管理员密码?我正在安装全新的 Ubuntu 13.10。
我需要那个密码,因为我正在尝试设置 sudo-ldap。
我们的用户和组 LDAP 配置正在运行。
我们的服务器使用 LDAP 来存储用户和组。
# /etc/nsswitch.conf :
passwd: compat ldap
group: compat ldap
shadow: compat ldap
Run Code Online (Sandbox Code Playgroud)
但是今天我们在 LDAP 中添加了一个新组,有 3 个用户,然后添加了其他用户。3 个用户在组中,但不在其他组中。
我们可以通过使用“groups”看到这一点:更准确地说,“getent group GROUPNAME”显示组中的用户,而“groups”不显示该用户的组......?!
因此,我试图理解:
对不起,我的问题没有更准确,但我真的不知道从哪里开始......
PS配置文件
# /etc/ldap/ldap.conf
URI ldap://172.16.1.232
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
# /etc/pam_ldap.conf
base dc=ourdomain,dc=ch
uri ldap://172.16.1.232/
ldap_version 3
rootbinddn cn=admin,dc=ourdomain,dc=ch
pam_password crypt
Run Code Online (Sandbox Code Playgroud) 我通常使用pam_limits.so,并/etc/security/limits.conf以一套ulimits文件大小,CPU时间等,为普通用户中运行Ubuntu我的服务器日志记录。使用 Solaris 10 执行类似操作的最佳方法是什么?
我认为它是使用 完成的/etc/system,但我不知道要添加到文件中的内容,或者它是否是正确的文件。我对ulimit -f不走这.profile条路线的设置特别感兴趣。
是否可以使用 ldapsearch 或其他工具将 openldap 中的所有数据导出到(ldif?)文件中,然后将所有内容导入另一台服务器上,并将其放入每天运行的脚本中。这样当第一个/主服务器不可用时,我可以使用另一个作为备份?
我有第一台/主服务器的完全访问权限,但我无法修改它的配置,所以我认为我无法设置复制。
这是 olcDatabase={1}hdb.ldif 的一部分
olcAccess: {0}to attrs=userPassword,shadowLastChange
by self write
by anonymous auth
by dn="cn=admin,dc=somesite,dc=com" write
by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to *
by self write
by dn="cn=admin,dc=somesite,dc=com" write
by * read
Run Code Online (Sandbox Code Playgroud)
我想附加by dn="cn=anotheruser,ou=Users,dc=somesite,dc=com" write到{0}and{2}行。
在我销毁我的 LDAP 服务器之前,以下 LDIF 是否正确?
dn: olcDatabase{1}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=somesite,dc=com" write
by dn="uid=anotheruser,ou=Users,dc=somesite,dc=com" write
by anonymous auth
by self write
by * none
olcAccess: {2}to *
by self …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 12.04 上有以下版本:
OpenLDAP: slapd (Sep 19 2013 22:49:31) $
buildd@batsu:/build/buildd/openldap-2.4.28/debian/build/servers/slapd
Run Code Online (Sandbox Code Playgroud)
OpenLDAP 现在提供 SSHA 作为默认哈希。我想使用不同的哈希。然而,旧的教程基于编辑/etc/ldap/slapd.conf,在较新版本的 OpenLDAP 中已经消失。我应该更改哪个文件?
尝试加载以下配置时
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcMirrorMode
olcMirrorMode: TRUE
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
root@box:~# ldapadd -Y EXTERNAL -H ldapi:/// -f mirrormode.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldapadd: wrong attributeType at line 4, entry "olcDatabase={1}hdb,cn=config"
Run Code Online (Sandbox Code Playgroud)
对我来说看起来不错——有什么问题吗?
我正在尝试设置一个多主 openLDAP (PoC) 集群。我在某个地方创建了错误的配置,现在 slapd 将无法启动。由于cn=config/ olcconfig 带有 CRC32 标记,因此它不接受手动更改。
那么,如何在守护进程不运行的情况下更改配置呢?
有slapadd,但我需要修改,而不是添加......对吗?我觉得我可能错过了一些明显的东西。
如果重要的话,我认为其中之一或两者olcModuleLoad都是olcServerID错误的。
在 Ubuntu 16.04 上运行 openldap-2.4.42。
更新
我对编辑不被接受的看法是错误的。配置因不同原因被拒绝(未找到 serverID / URL 匹配),已记录校验和错误,但不会阻止守护程序启动。
我能够手动编辑 ldif 文件/etc/ldap/slap.d/cn=config并启动服务器。(尽管我还没有实现多主复制工作。)
我是 OpenLDAP(但不是 Microsoft Active Directory)的新手,正在阅读 zytrax 的 openldap 指南。我在 CentOS 7.4 上使用 OpenLDAP 2.4.44,如下所示:
@(#) $OpenLDAP: slapd 2.4.44 (Aug 4 2017 14:23:27) $
mockbuild@c1bm.rdu2.centos.org:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
Run Code Online (Sandbox Code Playgroud)
我想添加余弦(以及后来的 inetorgperson)模式,但这失败了:
ldapadd -f /etc/openldap/schema/cosine.ldif
ldap_sasl_interactive_bind_s: No such attribute (16)
Run Code Online (Sandbox Code Playgroud)
而这有效:
ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/openldap/schema/cosine.ldif
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么?显然,ldapi:// -Y EXTERNAL 似乎表示 SASL,但我还没有找到 zytrax 对为什么/何时在 OLC 中使用 ldapi:// 而不是 ldapadd 命令的解释。