1. 下载

2. 安装

  1. 启动服务端

  2. 启动客户端

  3. 配置客户端链接

    1. 端口:10389

    2. 加密方式:不加密

    3. 账号dn: uid=admin,ou=system

    4. 密码:secret

3. 设置

  1. 禁用匿名登录,去掉勾选:Overview → Option → Allow anonymous acsess

  2. 密码策略:Password Policy(https://directory.apache.org/apacheds/advanced-ug/4.3-password-policy.html)

    1. 历史密码(ads-pwdInHistory):5

    2. 密码最小长度(ads-pwdMinLength):6

    3. 密码过期时间(ads-pwdMaxAge):7776000(90天)

    4. 过期后登录次数(ads-pwdGraceAuthNLimit):5

    5. 过期提前提醒时间(ads-pwdExpireWarning):604800(一周)

  3. 修改管理员密码 由于客户端直接修改管理员密码是会报错,所以可以采用如下两种方式修改:

    1. 方式一:通过ldapmodify命令修改

      ldapmodify -H ldap://localhost:10389 -D "uid=admin,ou=system" -x -w secret -f password.ldif
      password.ldif
      dn: uid=admin,ou=system
      changetype: modify
      replace: userPassword
      userPassword: 密码
    2. 方式二:通过新建一个管理员,删除现有管理员变通修改

4. 增加分区

open configuration → Partitions

5. 备份

  1. 方式一: 直接使用客户的export ldif。再导入的时候记得把父节点放在前面。

  2. 方式二:

    ldapsearch -x -h 127.0.0.1 -p 10389 -w secret -D "uid=admin,ou=system" -b "dc=5i,dc=work" "(objectclass=domain)" > 5i.work.ldif
    ldapsearch -x -h 127.0.0.1 -p 10389 -w secret -D "uid=admin,ou=system" -b "dc=5i,dc=work" "(objectclass=groupOfUniqueNames)" > group.5i.work.ldif
    ldapsearch -x -h 127.0.0.1 -p 10389 -w secret -D "uid=admin,ou=system" -b "dc=5i,dc=work" "(objectclass=inetOrgPerson)" > user.5i.work.ldif

6. 附录

6.1. ldapsearch参数说明

-x   进行简单认证
-D   用来绑定服务器的DN
-w   绑定DN的密码
-b   指定要查询的根节点
-H   制定要查询的服务器

6.2. ldapmodify参数说明

-x    简单认证
-D    绑定服务器的DN
-h    目录服务地址
-w    绑定DN密码
-f    使用ldif文件进行添加
如果没有ldapmodify命令,使用命令 yum install openldap-clients 安装

6.3. 其他

  1. 账号密码策略位置:conf/ou=config/ads-directoryserviceid=default/ou=interceptors/ads-interceptorid=authenticationinterceptor/ou=passwordpolicies/ads-pwdid=default.ldif

  2. gitlab因为ldap故障导致用户被block,又无法unblock,可以先把该用户的identities里的ladp的identity删掉,然后再unblock,完后再将ladp的identity加上就行。