标签: ldap

Linux ldap 身份验证,pam_filter 被忽略

我已经通过 ldap 设置了 linux 客户端身份验证,它可以工作。我想通过添加或删除帐户的不同 OU 来控制用户对多个服务的访问。例如,如果允许用户登录 linux 机器,则必须包含“linux”。如果允许此用户访问 redmine,则它也必须包含“redmine”。

问题是,/etc/ldap.conf 中的 pam_filter 参数被忽略了。当我设置它

pam_filter ou=linux
Run Code Online (Sandbox Code Playgroud)

LDAP 服务器的搜索字符串不包含此过滤器:

openldap slapd[5374]: conn=1857 op=1 SRCH base="ou=people,dc=rwth-cbmb,dc=de" scope=2 deref=0 filter="(objectClass=posixAccount)"

正如我所说,我一直将它与 redmine(票务跟踪系统)一起使用,我也设置了 ldap 过滤器并且它工作正常。我在服务器上收到以下搜索请求:

openldap slapd[5374]: conn=1863 op=1 SRCH base="ou=people,dc=rwth-cbmb,dc=de" scope=2 deref=0 filter="(&(objectClass=*)(uid=alex) )(ou=redmine))"

我有以下软件包版本:

ldap-auth-客户端 0.5.3

ldap-auth-config 0.5.3

ldap-utils 2.4.28-1.1ubuntu4.2

libldap-2.4-2 2.4.28-1.1ubuntu4.2

libnss-ldap 264-2.2ubuntu2

libpam-ldap 184-8.5ubuntu2

客户端 ubuntu 12.04,服务器 ubuntu 服务器 10.04。

linux ubuntu ldap pam filter

5
推荐指数
1
解决办法
2842
查看次数

RHEL-5/6 的 sssd 与 nslcd

我们有 50 台 RH-5 机器和 70 台 RH-6 机器。我正在考虑决定我们应该为 LDAP 使用什么:

  1. nscd/nslcd 适用于所有 RH-5/RH-6 服务器
  2. nscd/nslcd 用于 RH-5 服务器,sssd 用于 RH-6 服务器
  3. sssd 适用于所有 RH-5/RH-6 服务器

SSSD 可用于两个版本(RHEL5 - sssd 1.5 和 RHEL6 - sssd 1.9+)

最后一个选项意味着 RHEL5 机器将运行 sssd 1.5。

我更喜欢尽可能具有相同软件和配置的环境,除非人们说 sssd 对于 RH-6 来说确实更好,而 nscd/nslcd 对于 RH-5 来说确实更好。

最好的选择是什么?

redhat ldap pam nss sssd

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

LDP SSL 端口 636 有效 - ldaps:// 无效

我正在尝试在 Server 2008 R2 上使用带有 ssl 的 ldap。一切就绪,我可以使用 ldp.exedomain.example.org通过 ssl 复选框连接到端口 636。这是在本地服务器本身上。

但是 - 我无法使用 ssl 和端口 636 使用 ldapsearch 进行连接。使用 ldapsearch 没有 ssl 和端口 389 工作正常。

有任何想法吗?我的客户需要安装证书吗?我主要只是想加密 ldap 连接。谢谢你的帮助!

* 编辑 *

有效的命令:

ldapsearch -x -b "dc=XX,dc=example,dc=org" -D "user@example.org" -H ldap://XX.example.org -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
Run Code Online (Sandbox Code Playgroud)

不起作用的命令:

ldapsearch -x -b "dc=XX,dc=example,dc=org" -D "user@example.org" -H ldaps://XX.example.org:636 -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
Run Code Online (Sandbox Code Playgroud)

我尝试了 -h 的变体并使用 -p 来指定端口。

我将如何将证书从服务器 2008 安装到客户端?

windows-server-2008 ssl active-directory ldap

5
推荐指数
1
解决办法
9036
查看次数

LDAP 专有名称验证器

是否有库、程序或简单的正则表达式来检查输入中指定的 DN 是否格式正确?

示例:输入:经理,ou=company,dc=net ---> 输出:格式不正确

输入:cn=manager, ou=company, dc=net ---> 输出:格式良好

ldap

5
推荐指数
2
解决办法
4657
查看次数

apache mod_authnz_ldap - 使用空白用户名时出现 500 错误

我在 Windows Server 2012 上运行了 Apache 2.4。

我已经让 mod_authnz_ldap 工作,除非用户输入空白用户名。这会导致 500 内部服务器错误。

这是 httpd.conf 中“员工”区域的条目...

<Location "/staff">
    AuthType Basic
    AuthName "Staff Area"
    LDAPReferrals Off
    AuthBasicProvider ldap
    AuthUserFile /dev/null
    AuthLDAPBindDN Administrator@school.com.au
    AuthLDAPBindPassword MyPassword
    AuthLDAPURL "ldap://server-dc1:389/ou=DomainUsers,dc=school,dc=com,dc=au?sAMAccountName?sub"
    Require ldap-group cn=staff,ou=staff,ou=DomainUsers,dc=school,dc=com,dc=au
</Location>
Run Code Online (Sandbox Code Playgroud)

有什么明显的我遗漏了吗?还有其他人使用 mod_authnz_ldap 吗?您的服务器不喜欢空白用户名吗?

ldap mod-auth-ldap windows-server-2012 apache-2.4

5
推荐指数
1
解决办法
4987
查看次数

如何通过 LDAP 向活动目录调试 SASL 身份验证

我正在尝试配置在 Centos 6.5 上运行的 SASL,以允许对企业 Active Directory 服务器进行身份验证。最终目标是验证对该服务器上运行的某些 subversion 存储库的访问权限,但在此阶段,我只是尝试让 saslauthd 进行身份验证,并使用 testsaslauthd 对其进行测试。

每次身份验证都失败,日志中显示以下内容:

saslauthd[20843] :do_auth         : auth failure: [user=MYUSER] [service=svn] [realm=MYREALM] [mech=ldap] [reason=Unknown]
saslauthd[20843] :do_request      : response: NO
Run Code Online (Sandbox Code Playgroud)

这是我的 /etc/saslauthd.conf:

ldap_auth_method: bind
ldap_servers: ldaps://ldap.ad.mycompany.com:3269/
ldap_bind_dn: MYBINDDN
ldap_password: xxxxxxxxxx
ldap_search_base: DC=mycompany,DC=xx
ldap_filter: (&(cn=%u)(objectClass=person))
ldap_referrals: yes
log_level: 10
Run Code Online (Sandbox Code Playgroud)

请注意,我知道 ldap 服务器 URI、绑定 DN、密码、搜索库和过滤器是正确的,因为我有一个 perl 脚本,它使用这些来为网站执行身份验证,并且它工作正常。perl 脚本使用 Net::LDAP,绑定到 AD,使用搜索库和过滤器搜索用户,然后尝试使用用户的 DN 和密码进行绑定。据我了解,这正是 SASL 应该按照我的配置方式尝试做的事情。

我的第一个观察结果是,尽管将 log_level 设置为 10,但我只收到一行告诉我它因未知原因失败。我正在使用 -d(调试)选项从 shell 启动 saslauthd。我还能做些什么来获得更多的调试输出?

有什么方法可以记录 LDAP 交互?

最后,有人能看出我的配置有什么问题吗?也许一些 AD 怪癖需要在 SASL 配置中进行特殊设置?

active-directory ldap saslauthd sasl

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

查看 LDAP 对象类的所有可能属性

我正在编写一些 ldap 自动化脚本,但遇到了轻微的挂断。基本上,我想在尝试添加之前检查添加到条目的属性是否确实存在于给定的 objectClass 中。

到目前为止,我对此的最佳想法只是在属性的架构定义文件上运行正则表达式,但这并不能说明在配置初始化后正在编辑的架构文件。

第二个想法是在无法添加属性时捕获抛出的错误,但这似乎效率较低,因为我的下一步是将属性添加到架构并重建配置。

似乎应该有一个简单的 ldapsearch 命令来执行此操作,但我无法弄清楚语法。

到目前为止,我已经尝试过:

ldapsearch -x -b 'dc=MY_DOMAIN,dc=com' '(objectclass=mySCHEMA)'
Run Code Online (Sandbox Code Playgroud)

但这只是列出了任何具有 mySCHEMA 对象类的 ldap 条目。

感谢您的帮助,干杯!

openldap ldap

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

您可以通过 ADFS 获取用户列表吗?

我需要实现一个可以从公司外部访问的公司网站。要求用户能够使用与访问公司网络 (Active Directory) 相同的凭据登录。我最初想使用 ADFS,但似乎无法访问有关其他用户的信息。我需要能够列出其他用户,获取他们所属的组等。我也可能需要修改有关服务器中用户的信息。

我没有任何与 Active Directory 相关的经验。直接将 LDAP 与自定义身份验证一起使用是更好的选择吗?有什么建议或更正吗?

active-directory ldap .net asp.net-mvc adfs

5
推荐指数
1
解决办法
4273
查看次数

RHEL 6.5 Web 应用程序 PAM 身份验证 pam_oddjob_mkhomedir

我有一个针对 AD 服务器进行身份验证的 RHEL 6.5,该端工作正常。

该机器还运行使用 PAM 模块进行身份验证的 Web 应用程序。

我复制了登录名来制作一个供 web 应用程序使用的 pam 模块。(rstudio-server) 并且登录工作正常。

但是,如果用户之前未登录,则 pam_oddjob_mkhomedir 不会通过 pam_oddjob_mkhomedir 创建他们的主目录,如果我 SU 到该用户,则会立即创建主目录。

我已将 selinux 设置为宽松,直到我对此进行排序,并且我正在尝试 pam_mkhomedir.so 和 pam_oddjob_mkhomedir.so(两者都已就位并且oddjob 服务正在运行)

我认为没有问题..它不是开始会话,它只是从 PAM 进行身份验证,所以我尝试将调用 mkhomedir 的行放入身份验证中,但它不起作用。

使用 pamtester 进行测试:

# pamtester rstudio 00064742 "authenticate"
Password: 
pamtester: successfully authenticated



# pamtester rstudio 00064742 "open_session"
Creating home directory for 00064742.
pamtester: sucessfully opened a session
Run Code Online (Sandbox Code Playgroud)

如您所见,如果打开了一个会话,则会创建主目录,但不会在 auth 下。

这是相关的 pam 文件。

pam.d]# cat rstudio
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       required …
Run Code Online (Sandbox Code Playgroud)

active-directory redhat ldap pam pam-ldap

5
推荐指数
1
解决办法
2478
查看次数

svnserve+sasl+ldap:saslauthd 没有联系?

我正在尝试针对 sasl+ldap 对 subversion 用户进行身份验证。关于这个问题的其他问题似乎与早期版本的 subversion 或 sasldb 身份验证有关。

lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.1 (jessie)
Release:    8.1
Codename:   jessie

svnserve --version
svnserve, version 1.8.10 (r1615264)
Cyrus SASL authentication is available.

saslauthd -v
saslauthd 2.1.26
authentication mechanisms: sasldb getpwent kerberos5 pam rimap shadow ldap
Run Code Online (Sandbox Code Playgroud)

sasl+LDAP 部分似乎已正确配置:

testsaslauthd -u user -p password -r realm
0: OK "Success."
Run Code Online (Sandbox Code Playgroud)

使用错误的凭据对其进行测试会出现错误:

testsaslauthd -u wronguser -p wrongpassword -r wrongrealm
0: NO "authentication failed"
Run Code Online (Sandbox Code Playgroud)

它在 auth.log 中显示错误:

Sep …
Run Code Online (Sandbox Code Playgroud)

ldap saslauthd svnserve

5
推荐指数
1
解决办法
1318
查看次数