一. 基础环境说明

centos7.5 openldap 2.4.44 可视化工具——ldap admin

二. 安装ldap server

yum install -y openldap openldap-servers openldap-clients openldap-devel 如果部署主从需要增加 compat-openldap

修改ldap 配置文件

生成管理员密码,记录下这个密码,后面需要用到 slappasswd -s 123456 {SSHA}D5vs5XLca8MVh 5DveK5Zq7HLYzQSfMe # 新增修改密码文件,ldif为后缀,文件名随意,不要在/etc/openldap/slapd.d/目录下创建类似文件 # 生成的文件为需要通过命令去动态修改ldap现有配置,如下,我在家目录下,创建文件 cd /etc/openldap vim changepwd.ldif ---------------------------------------------------------------------- dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}LSgYPTUW4zjGtIVtuZ8cRUqqFRv1tWpE ---------------------------------------------------------------------- # 这里解释一下这个文件的内容: # 第一行执行配置文件,这里就表示指定为 cn=config/olcDatabase={0}config 文件。你到/etc/openldap/slapd.d/目录下就能找到此文件 # 第二行 changetype 指定类型为修改 # 第三行 add 表示添加 olcRootPW 配置项 # 第四行指定 olcRootPW 配置项的值 # 在执行下面的命令前,你可以先查看原本的olcDatabase={0}config文件,里面是没有olcRootPW这个项的,执行命令后,你再看就会新增了olcRootPW项,而且内容是我们文件中指定的值加密后的字符串 # 执行命令,修改ldap配置,通过-f执行文件 ldapadd -Y external -H ldapi:/// -f changepwd.ldif

执行修改命令后,有如下输出则为正常:

ldap数据库产品(公司IT系统账号大统一体系)(1)

查看olcDatabase={0}config内容,新增了一个olcRootPW项。

ldap数据库产品(公司IT系统账号大统一体系)(2)

*切记尽量不要直接修改/etc/openldap/slapd.d/目录下的配置。

修改域名,新增changedomain.ldif, 这里我自定义的域名为 test.com,管理员用户账号为admin。 # 如果要修改,则修改文件中相应的dc=test,dc=com为自己的域名 vim changedomain.ldif ------------------------------------------------------------------------- dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0 uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=admin,dc=test,dc=com" read by * none dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=test,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=admin,dc=test,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}D5vs5XLca8MVh 5DveK5Zq7HLYzQSfMe -------------------------------------------------------------------------

执行命令,修改配置

ldapmodify -Y EXTERNAL -H ldapi:/// -f changedomain.ldif

ldap数据库产品(公司IT系统账号大统一体系)(3)

启用memberof功能

# 新增add-memberof.ldif, #开启memberof支持并新增用户支持memberof配置 vim add-memberof.ldif ------------------------------------------------------------- dn: cn=module,cn=config cn: module objectClass: olcModuleList olcModuleLoad: memberof olcModulePath: /usr/lib64/openldap dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: top olcOverlay: memberof olcMemberOfDangling: ignore olcMemberOfRefInt: TRUE olcMemberOfGroupOC: groupOfNames olcMemberOfMemberAD: member olcMemberOfMemberOfAD: memberOf ------------------------------------------------------------- # 新增refint1.ldif文件 vim refint1.ldif ------------------------------------------------------------- dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refint ------------------------------------------------------------- # 新增refint2.ldif文件 vim refint2.ldif ------------------------------------------------------------- dn: olcOverlay=refint,olcDatabase={2}hdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: refint olcRefintAttribute: memberof uniqueMember manager owner ------------------------------------------------------------- # 依次执行下面命令,加载配置,顺序不能错 ldapadd -Q -Y EXTERNAL -H ldapi:/// -f add-memberof.ldif ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif ————————————————

ldap数据库产品(公司IT系统账号大统一体系)(4)

到此openldap 就安装完成了。至于如果使用,并将ldap集成到我们常用的工具,如gitlab,jenkins等等。后续会逐步更新。

如果有哪位朋友执行中遇到问题或错误请留言。

,