AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 112286
Accepted
Cooper
Cooper
Asked: 2010-02-13 07:19:11 +0800 CST2010-02-13 07:19:11 +0800 CST 2010-02-13 07:19:11 +0800 CST

在 RHEL 中使用 OpenLDAP 保护 userPassword 访问

  • 772

我已经在 RHEL 5.4 上设置了一个 OpenLDAP 服务器,并且正在配置其他服务器以对其进行身份验证。我已经配置了带有 StartTLS 的 ldap 和 ldaps 并且可以正常工作。

在我的客户端机器上,我的/etc/nsswitch.conf包括:

passwd:     files ldap
shadow:     files ldap
group:      files ldap

我可以使用仅在 LDAP 中定义的用户成功登录到客户端(即,它在 /etc/passwd 中没有找到它,并且成功地向 LDAP 询问用户信息,并针对存储在 LDAP 中的密码哈希进行身份验证)。

我的问题是当我尝试锁定对 LDAP 服务器中属性的访问时,特别是在/etc/openldap/slapd.conf中,ldap 用户无法再登录:

access to attrs=userpassword
        by self write
        by anonymous auth
        by * none

我正在记录 slapd,看来(我的解释,如果我错了,请纠正我)pam_ldap 正在尝试读取poxixAccount objectClass 中的所有属性:

    filter: (&(objectClass=posixAccount)(uid=cthompson))
    attrs:
  uid
  userPassword
  uidNumber
  gidNumber
  cn
  homeDirectory
  loginShell
  gecos
  description
  objectClass

在我的 openldap 日志记录中,我没有得到任何访问或 acl 错误,但我得到:

access_allowed: search access to "uid=cthompson,ou=People,dc=domain,dc=com" "objectClass" requested
access_allowed: search access to "uid=cthompson,ou=People,dc=domain,dc=com" "uid" requested

是否需要配置一些东西,而不是读取 userPassword 属性,pam_ldap 尝试对其进行“身份验证”(因此请求由“匿名身份验证”访问规则处理?

ldap openldap pam
  • 1 1 个回答
  • 4299 Views

1 个回答

  • Voted
  1. Best Answer
    voretaq7
    2010-02-13T10:02:45+08:002010-02-13T10:02:45+08:00

    pam_ldap不应该尝试读取 userPassword 值来让您登录——它通过与它检索到的 DN 进行 LDAP 绑定来让您登录。

    pam_ldap 使用的搜索参数可能过于宽泛,因此它会尝试提取 userPassword,但如果您的 ACL 设置正确(对我来说看起来不错),它将不会在其结果中获得该值。


    以防万一您的 ACL不正常(我之前就知道会错过一些愚蠢的明显的东西),这是我的生产 LDAP 环境中的工作 ACL 列表:)

    # Access and Security Restrictions
    # (Most restrictive entries first)
    access to attrs=userPassword
        by self write
        by dn.sub="ou=sync,dc=mydomain,dc=com" read
        by anonymous auth
    by users none
    
    access to * by * read
    

    尾随access to * by * read很重要,我在您的示例中没有看到它,所以我不确定它是否丢失或只是从您的代码段中省略。

    该sync行用于我的 LDAP 同步服务,如果您不进行复制,则不需要...

    • 2

相关问题

  • Cygwin sshd 和 LDAP 身份验证

  • 从 OpenLDAP 检索操作属性

  • 为 Mac 网络使用 Linux 和 Open LDAP

  • 使用LDAP服务器身份验证的Linux中单个用户的多个登录名

  • 使用 smbldap 管理用户/组的 Web 前端

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve