标签: openldap

OpenLDAP TLS 身份验证设置

我正在尝试按照本指南在 ubuntu 12.04 上设置 openldap https://help.ubuntu.com/12.04/serverguide/openldap-server.html

当我尝试通过创建上面指南中描述的自签名证书在服务器上启用 TLS 时,出现以下错误

我运行的命令

ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif
Run Code Online (Sandbox Code Playgroud)

ldif 文件的内容

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem
Run Code Online (Sandbox Code Playgroud)

错误信息

ldap_modify: Inappropriate matching (18)
        additional info: modify/add: olcTLSCertificateFile: no equality matching rule
Run Code Online (Sandbox Code Playgroud)

在谷歌上搜索了几个小时后,我没有找到任何能说明这个错误的东西。有没有人有更多关于这方面的信息?

openldap tls ubuntu-12.04

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

如何让 SASL 身份验证与 DIGEST-MD5 一起用于 OpenLDAP?

我正在slapdUbuntu 14.04 Trusty Tahr 上设置 OpenLDAP 。我希望某些不是用户的实例(复制等)能够通过SASL使用DIGEST-MD5机制登录。

与用户不同,他们应该在目录树中具有相应的 DN(以及密码)。相反,他们的凭据应该存储在外部,因此SASL.

我现在正在使用saslauthd(例如,如果可以直接访问 sasldb,这不是硬性要求)并且它使用机制工作正常PLAINLOGIN而使用机制DIGEST-MD5CRAM-MD5.

我错过了什么或做错了什么?我怎样才能让它工作DIGEST-MD5


OpenLDAP的配置为SASL/etc/ldap/sasl2/slapd.conf这样的:

mech_list: EXTERNAL DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
Run Code Online (Sandbox Code Playgroud)


有趣的(改变的)选项/etc/default/saslauthd是:

START=yes
MECHANISMS="sasldb"
Run Code Online (Sandbox Code Playgroud)

它们导致saslauthd像这样启动:

/usr/sbin/saslauthd -a sasldb -c -m /var/run/saslauthd -n 5
Run Code Online (Sandbox Code Playgroud)


我用DIGEST-MD5这样的方式重现失败的案例:

# ldapsearch -U replication -ZZ -Y DIGEST-MD5 -H ldap://ldap-master.example.com/ -b "dc=example,dc=com" "(objectClass=*)" …
Run Code Online (Sandbox Code Playgroud)

openldap ldap saslauthd sasl

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

ldap_add:违反约束 (19)

我在导入用户ldapaddldif文件时遇到问题。我得到的错误是:

ldap_add: Constraint violation (19)
additional info: structuralObjectClass: no user modification allowed
Run Code Online (Sandbox Code Playgroud)

导入的用户都是ou=People,dc=example,dc=org. LDAP 服务器已包含此基本 DN。

/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif文件包含以下 ACL 条目:

olcAccess: {2}to dn.base="ou=People,dc=example,dc=org" attrs=children by gr
 oup.exact="cn=Manager,ou=Roles,dc=example,dc=org" manage
Run Code Online (Sandbox Code Playgroud)

ldif文件被导入如下:

ldapadd -f import.ldif -xv -D "cn=drupal,ou=Apps,dc=example,dc=org" -h localhost -W
Run Code Online (Sandbox Code Playgroud)

cn=drupal,ou=Apps[...]条目是 的成员,cn=Manager,ou=Roles,dc=example,dc=org因此它应该具有足够的写入权限(因为管理是可用的最高权限级别)。

当我发出ldapadd命令时,导入在第一个ldif条目时失败。完整的命令输出是:

add objectClass:
    top
    person
    inetOrgPerson
add uid:
    John.Merrell
add mail:
    john.merrell@example.org
add cn:
    John D Merrell
add structuralObjectClass:
    inetOrgPerson
add …
Run Code Online (Sandbox Code Playgroud)

openldap ldap ldif ubuntu-10.04

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

无法通过 Apache Directory Studio GUI 访问 cn=config

我对openldap. 动态配置对我来说很新。所以我想让生活更轻松,并openldap通过 Apache Directory Studio GUI更改配置。

Openldap 安装在 Debian Jessie 和版本 slapd 2.4.40+dfsg-1+deb8u1 amd64

试图按照这种方式:http : //gos.si/blog/installing-openldap-on-debian-squeeze-with-olc

但我无法访问它:

ldapsearch -b cn=config -D cn=admin,dc=domain -W
result: 32 No such object
Run Code Online (Sandbox Code Playgroud)

首先,我认为它与 ACL 有关并删除了所有内容,但没有任何变化。

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config 作品

那么为什么 olcRootDN 没有权限呢?同样在 GUI 中,我没有看到 cn=config。在此先感谢您的帮助!

openldap

9
推荐指数
1
解决办法
6192
查看次数

在supportedSASLMechanisms中将GSSAPI添加到OpenLdap

我正在寻找如何将 GSSAPI 支持添加到我的 OpenLDAP 中

当前设置

MIT Kerberos V + OpenLDAP
Kerberos bind to openldap
Able to issue kerberos tickets to my users (with kinit exampluser)
Able to ldapsearch -x uid=exampluser
Run Code Online (Sandbox Code Playgroud)

OpenLDAP 端

server% ldapsearch -x -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms

    ldap_start_tls: Protocol error (2)
    additional info: unsupported extended operation
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN
Run Code Online (Sandbox Code Playgroud)

客户端

client% ldapsearch uid=exampleuser

SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Authentication method not …
Run Code Online (Sandbox Code Playgroud)

openldap sasl gssapi ldapmodule

9
推荐指数
1
解决办法
6475
查看次数

没有从 OpenLDAP 返回根 DSE

我正在尝试在使用 slapd 2.4.18 版的 ubuntu 9.10 上设置 OpenLDAP 服务器。

初始化并填充新的 hdb 数据库后,一切似乎都正常,但我无法让服务器返回根 DSE。跑步

ldapsearch -x -W -D 'cn=manager,dc=example,dc=org' \
    -b '' -s base '(objectclass=*)' +
Run Code Online (Sandbox Code Playgroud)

刚回来

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: +
#

# search result
search: 2
result: 0 Success

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

我的 hdb 数据库 ACL 设置如下:

olcAccess: to attrs=userPassword,shadowLastChange
  by self write
  by anonymous auth
  by dn.base="cn=manager,dc=example,dc=org" write
  by * none
olcAccess: to dn.base=""
  by …
Run Code Online (Sandbox Code Playgroud)

openldap ldap

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

ldap_add 错误 (80) &lt;olcModuleLoad&gt; 处理程序以 1 退出

我正在尝试按照教程设置一个基本的 LDAD 服务器 (OpenLDAP) 以进行客户端身份验证,但我被困在添加后端配置的步骤上。

我已经按照指定创建了我的 backend.ldif 文件,我正在尝试添加它:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Run Code Online (Sandbox Code Playgroud)

但我得到:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcModuleLoad> handler exited with 1
Run Code Online (Sandbox Code Playgroud)

完整的 LDIF 是:

#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us …
Run Code Online (Sandbox Code Playgroud)

openldap

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

无法从 Linux 主机使用 Kerberos 查询 AD

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 active-directory ldap

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

未知的 LDAP cn=config 管理员密码

当我安装 OpenLDAP 时,我被要求为管理员用户创建密码,但现在我意识到还有另一个管理员用户cn=config的密码我不知道。有谁知道我应该如何更改或获取该管理员密码?我正在安装全新的 Ubuntu 13.10。

我需要那个密码,因为我正在尝试设置 sudo-ldap。

linux openldap password ldap

8
推荐指数
1
解决办法
4万
查看次数

如果在 LDAP 上,Linux 是否会保留组成员的缓存?(组与 getent 组之间的差异))

我们的用户和组 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”不显示该用户的组......?!

因此,我试图理解:

  • 是否有某种组缓存 - LDAP 列表?
  • 或者同步是否可能失败,如果是,如何手动重新启动它?

对不起,我的问题没有更准确,但我真的不知道从哪里开始......

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)

linux openldap ldap groups pam-ldap

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