我正在尝试按照本指南在 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)
在谷歌上搜索了几个小时后,我没有找到任何能说明这个错误的东西。有没有人有更多关于这方面的信息?
我正在slapdUbuntu 14.04 Trusty Tahr 上设置 OpenLDAP 。我希望某些不是用户的实例(复制等)能够通过SASL使用DIGEST-MD5机制登录。
与用户不同,他们不应该在目录树中具有相应的 DN(以及密码)。相反,他们的凭据应该存储在外部,因此SASL.
我现在正在使用saslauthd(例如,如果可以直接访问 sasldb,这不是硬性要求)并且它使用机制工作正常PLAIN,LOGIN而使用机制DIGEST-MD5和CRAM-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) 我在导入用户ldapadd和ldif文件时遇到问题。我得到的错误是:
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. 动态配置对我来说很新。所以我想让生活更轻松,并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。在此先感谢您的帮助!
我正在寻找如何将 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) 我正在尝试在使用 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) 我正在尝试按照本教程设置一个基本的 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) 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) openldap ×10
ldap ×6
linux ×2
sasl ×2
groups ×1
gssapi ×1
ldapmodule ×1
ldif ×1
pam-ldap ×1
password ×1
saslauthd ×1
tls ×1
ubuntu-10.04 ×1
ubuntu-12.04 ×1