• 请不要在回答技术问题时复制粘贴 AI 生成的内容
larkifly
V2EX  ›  程序员

LDAP 把一个用户加到多个 Group 后如何验证?

  •  
  •   larkifly · Aug 15, 2017 · 6646 views
    This topic created in 3218 days ago, the information mentioned may be changed or developed.
    假设我有一个用户 A,分别在三个组,如下:
    uid=A,cn=gitlab,ou=B,dc=C,dc=D
    uid=A,cn=zabbix,ou=B,dc=C,dc=D
    uid=A,cn=jenkins,ou=B,dc=C,dc=D

    我想要的效果是,在 gitlab、zabbix、jenkins 上分别使用不同的 base_dn 进行验证,但是用户和密码是一个,怎么配置了?
    8 replies    2017-08-17 13:50:47 +08:00
    xAx
        1
    xAx  
       Aug 15, 2017
    你这是三个用户.
    一个用户在三个组使用 memberof
    Beebird
        2
    Beebird  
       Aug 15, 2017
    楼上是对的,创建 user 的 LDIF 应该是类似这样吧:

    dn: uid=A,ou=B,dc=C,dc=D,dc=E
    cn: A
    uid: A
    gecos: AAA
    gidnumber: xxx

    dn: cn=gitlab,ou=group,dc=C,dc=D,dc=E
    changetype: modify
    add: memberUid
    memberUid: A

    dn: cn=zabbix,ou=group,ou=B,dc=C,dc=D,dc=E
    changetype: modify
    add: memberUid
    memberUid: A

    dn: cn=jenkins,ou=group,ou=B,dc=C,dc=D,dc=E
    changetype: modify
    add: memberUid
    memberUid: A
    larkifly
        3
    larkifly  
    OP
       Aug 16, 2017
    @xAx memberof 我试了,bind 的时候一直报密码不对
    larkifly
        4
    larkifly  
    OP
       Aug 16, 2017
    @Beebird memberof 这个方法我知道,但是验证的时候,base_dn 填什么了? cn=jenkins,ou=group,ou=B,dc=C,dc=D,dc=E 如果填这个,那么 bind 的时候,就报密码错误
    Beebird
        5
    Beebird  
       Aug 16, 2017
    base_dn 还是 ou=B,dc=C,dc=D,dc=E

    对于 group 的校验可以通过 filter, 例如:
    (&(uid=%{username})(memberOf= cn=gitlab,ou=group,dc=C,dc=D,dc=E))

    不同应用的 filter 语法可能略有不同
    larkifly
        6
    larkifly  
    OP
       Aug 16, 2017
    @Beebird 哦,明白了,我发现,好多开源的产品,ldap 验证都不支持 filter,只能做 bind 验证。
    Beebird
        7
    Beebird  
       Aug 16, 2017
    @larkifly 是的。。。gitlab 和 jenkins 应该可以。
    larkifly
        8
    larkifly  
    OP
       Aug 17, 2017
    @Beebird gitlab 企业版才行,jenkins 还没有试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4108 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 05:16 · PVG 13:16 · LAX 22:16 · JFK 01:16
    ♥ Do have faith in what you're doing.