简介:
LDAP(轻量级目录访问协议)是一种目录服务协议,常用于集中管理用户账户、密码和权限,适用于单点登录等场景。openldap是一个基于ldap实现的开源项目,本篇主要介绍openldap的部署和使用,以及与第三方服务的集成。
ldap相关概念
dn:LDAP中每个条目都有自己的dn,dn是该条目在整棵树中的唯一标识;
dc:域名组件,其格式是将完整的域名分成几部分,比如 dc=example,dc=com;
uid:用户ID;
ou:组织名称;
cn:公共名称,即常用名;
sn:姓氏;
部署openldap
这里使用docker方式进行部署;
version: "3.9"
networks:
ldap:
driver: bridge
services:
phpldapadmin:
container_name: phpldapadmin
image: osixia/phpldapadmin:latest
restart: always
ports:
- 80:80
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- PHPLDAPADMIN_LDAP_HOSTS=openldap
- PHPLDAPADMIN_HTTPS=false
- TZ=Asia/Shanghai
networks:
- ldap
openldap:
container_name: openldap
image: osixia/openldap:latest
restart: always
ports:
- 389:389
- 636:636
volumes:
- /etc/localtime:/etc/localtime:ro
- ./data:/var/lib/ldap
- ./conf:/etc/ldap/slapd.d
environment:
LDAP_TLS_VERIFY_CLIENT: never
LDAP_ORGANISATION: org01 # 组织名称
LDAP_DOMAIN: org01.cn # 组织域, 如:cn=admin,dc=org01,dc=cn
LDAP_ADMIN_PASSWORD: admin@123 # 管理密码(要足够复杂)
LDAP_CONFIG_PASSWORD: admin@123 # 配置密码(要足够复杂)
TZ: Asia/Shanghai
networks:
- ldap# 启动服务
docker compose up -d
docker compose ps
创建账号
部署完成后,登录ldap管理页面,管理账号为cn=admin,dc=org01,dc=cn,密码是部署文件中LDAP_ADMIN_PASSWORD定义的值;

添加两个ou组,这里一个employee,用来存放成员信息,一个groups,用来定义成员组;



同样,继续创建groups组;

在名为groups的ou下添加两个成员组,分别是 operation、develop;


同样,添加另一个成员组;

继续创建用户,将用户加入到employee的ou下,并指定一个成员组,如下,创建用户zhangsan加入到operation,wangwu加入到develop组;



同样操作继续添加wangwu用户,结果如下;

dnf install -y openldap-clients
查看配置
ldapsearch -x -H ldap://192.168.0.130:389 -D "cn=admin,dc=org01,dc=cn" -w admin@123 -b "dc=org01,dc=cn" "(objectclass=*)"继承LDAP
配置前先看下当前ldap里面两个用户组的gid号;

