V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
larkifly
V2EX  ›  程序员

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

  •  
  •   larkifly · 2017-08-15 14:32:52 +08:00 · 6114 次点击
    这是一个创建于 2661 天前的主题,其中的信息可能已经有所发展或是发生改变。
    假设我有一个用户 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 条回复    2017-08-17 13:50:47 +08:00
    xAx
        1
    xAx  
       2017-08-15 16:19:20 +08:00
    你这是三个用户.
    一个用户在三个组使用 memberof
    Beebird
        2
    Beebird  
       2017-08-15 17:00:25 +08:00
    楼上是对的,创建 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
       2017-08-16 09:52:33 +08:00
    @xAx memberof 我试了,bind 的时候一直报密码不对
    larkifly
        4
    larkifly  
    OP
       2017-08-16 09:54:24 +08:00
    @Beebird memberof 这个方法我知道,但是验证的时候,base_dn 填什么了? cn=jenkins,ou=group,ou=B,dc=C,dc=D,dc=E 如果填这个,那么 bind 的时候,就报密码错误
    Beebird
        5
    Beebird  
       2017-08-16 10:59:18 +08:00
    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
       2017-08-16 11:42:58 +08:00
    @Beebird 哦,明白了,我发现,好多开源的产品,ldap 验证都不支持 filter,只能做 bind 验证。
    Beebird
        7
    Beebird  
       2017-08-16 13:00:29 +08:00
    @larkifly 是的。。。gitlab 和 jenkins 应该可以。
    larkifly
        8
    larkifly  
    OP
       2017-08-17 13:50:47 +08:00
    @Beebird gitlab 企业版才行,jenkins 还没有试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5352 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 09:32 · PVG 17:32 · LAX 01:32 · JFK 04:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.