我正在尝试按照https://help.ubuntu.com/lts/serverguide/openldap-server.html实现 TLS 当我尝试使用此 ldif 文件修改 cn=config 数据库时:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/test-ldap-server_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/test-ldap-server_key.pem
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ldapmodify -Y EXTERNAL -H ldapi:/// -f certinfo.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
编辑:当我尝试使用简单身份验证时,出现以下错误:
ldapmodify -x -D cn=admin,dc=example,dc=com -W -f certinfo.ldif
Enter LDAP Password:
ldap_bind: Invalid DN syntax (34)
additional info: invalid DN
Run Code Online (Sandbox Code Playgroud) 我已经使用用户帐户设置了 LDAP 服务器。我已经成功地配置了一个 Rails 应用程序来验证这个 LDAP 服务器。我现在正在尝试将 SSSD 配置为针对 LDAP 进行身份验证,但它不喜欢个人用户密码。
错误:
$ su - leopetr4
Password:
su: incorrect password
Run Code Online (Sandbox Code Playgroud)
SSSD 识别用户,但不识别密码:
$ id leopetr4
uid=9583(leopetr4) gid=9583(leopetr4) groups=9583(leopetr4)
Run Code Online (Sandbox Code Playgroud)
这是用户记录的样子:
# ldapsearch -x -W -D "cn=admin,dc=my_domain,dc=com" -H ldaps://my_hostname.my_domain.com "(uid=leopetr4)"
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=my_domain,dc=com> (default) with scope subtree
# filter: (uid=leopetr4)
# requesting: ALL
#
# leopetr4, People, my_domain.com
dn: uid=leopetr4,ou=People,dc=my_domain,dc=com
uid: leopetr4
cn: Leo Petr 40
sn: 40
objectClass: posixAccount
objectClass: top
objectClass: …Run Code Online (Sandbox Code Playgroud) 我已经在 Unbuntu 10.04 上安装了 OpenLDAP。
我想我的配置LDAP,但我找不到slapd.conf中在/etc/ldap/
在这个目录下有一个ldap.conf的,但似乎并不相同。
如何配置我的 ldap ?
几天来,我一直在尝试在 CentOS 6 上进行 LDAP 身份验证和 NFS 导出的主目录。我现在可以使用 LDAP 中的用户名和密码登录到客户端计算机。在客户端,/home 和/opt 挂载在NFS 上的fstab 中。但是, /opt 和 /home 中的每个文件都归nobody:nobody(uid: 99, gid: 99) 在客户端所有。
但是我的 uid 和 gid 似乎设置正确:
-bash-4.1$ id
uid=3000(myusername) gid=3000(employees) groups=3000(employees)
Run Code Online (Sandbox Code Playgroud)
我还能检查什么?以下是我客户端上的一些配置文件:
/etc/nsswitch.conf
passwd: files sss
shadow: files sss
group: files sss
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: files sss
publickey: nisplus
automount: files ldap
aliases: files nisplus
Run Code Online (Sandbox Code Playgroud)
/etc/sssd/sssd.conf
[sssd]
config_file_version = 2 …Run Code Online (Sandbox Code Playgroud) 使用以下方法修改 Open-LDAP 配置时:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to *
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
by * none
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ldap_modify: Other (e.g., implementation specific) error (80)
additional info: <olcAccess> handler exited with 1
Run Code Online (Sandbox Code Playgroud) 当我尝试使用以下命令将用户导入 LDAP 时:
ldapadd -x -D "cn=Manager,dc=domain,dc=com" -W -f /etc/openldap/root.ldif
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
ldap_add no such object (32)
matched dn dc=domain,dc=com
Run Code Online (Sandbox Code Playgroud)
让我向您展示这些文件:
/etc/openldap/domain.ldif
dn: dc=domain,dc=com
dc: domain
description: LDAP Admin
objectClass: dcObject
objectClass: organizationalUnit
ou: rootobject
dn: ou=People, dc=domain,dc=com
ou: People
description: Users of adminmart
objectClass: organizationalUnit
Run Code Online (Sandbox Code Playgroud)
/etc/openldap/root.ldif
dn: uid=root,ou=People,dc=domain,dc=com
uid: root
cn: Manager
objectClass: account
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我吗?
谢谢
nginx 是否支持 ldap 身份验证?我刚刚从 apache 迁移,并希望将我所有基于 openldap 和 mod_auth_ldap 的身份验证移动到 nginx。如果可能的话,请告诉我。
从这个列出 nginx 的所有模块的页面中,我没有看到任何关于 LDAP 的提及。谢谢,
我们在隔离网络中提供服务。这些服务需要针对 Active Directory 服务器对用户进行身份验证。
但是 Active Directory 服务器不是直接可用的,所以我必须在隔离网络中设置一个 LDAP 代理。然后 LDAP 代理将有权访问 AD。请注意,访问权限必须是只读的,并且此代理只能访问一台AD 服务器。
谢谢。
我正在尝试按照本指南在 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)