OpenLDAP是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),属于开源集中账号管理架构的实现,支持众多系统版本。

LDAP提供并实现目录服务的信息服务,目录服务是一种特殊的数据库系统,对于数据的读取、浏览、搜索有很好的效果。目录服务一般用来包含基于属性的描述性信息并支持精细复杂的过滤功能,对搜索有很好的效果。目录服务不支持通用数据库的大量更新操作所需要的复杂的事物管理或回滚策略。

OpenLDAP默认以Berkeley DB作为后端数据库,Berkeley DB数据库主要以三列的数据类型进行数据存储,如以键值对的方式进行存储。Berkeley DB是一类特殊的数据库,主要用于搜索、浏览、更新查询操作,一般对于一次写入数据、多次查询和搜索有很好的效果。Berkeley DB数据库是面向查询进行优化,面向读取进行优化的数据库。不支持事务性数据库所支持的高并发的吞吐量以及复杂的事务操作。

本文采用docker容器的方式安装运行openldap镜像。使用docker安装方式配置简单,易用等特点。

1、安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2   //安装docker依赖包
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   //配置国内阿里云镜像仓库,解决镜像下载慢的问题。
yum install docker-ce docker-ce-cli containerd.io   //安装docker-ce服务

systemctl start docker          //启动docker命令
systemctl enable docker        //添加到开机启动项

参考文档:https://www.liuwg.com/archives/install-docker

2、拉取openldap与phpldapadmin镜像到本地

docker pull osixia/openldap

docker pull osixia/phpldapadmin

拉取镜像如下图:
image-75c9f025486a4346a82b8d44d5c16e7d

3、运行镜像

1)、通过docker run命令运行openldap

docker run \
-p 389:389 \
-p 636:636 \
--name myldap_name \
--network bridge \
--hostname openldap-host \
--env LDAP_ORGANISATION="example" \
--env LDAP_DOMAIN="example.com" \
--env LDAP_ADMIN_PASSWORD="123456" \
--detach osixia/openldap

注释如下:
-p 389:389 \ TCP/IP访问端口
-p 636:636 \ SSL连接端口
–name myldap_name 容器名称为myldap_name
–network bridge 连接默认的bridge网络
–hostname openldap-host 设置容器主机名称为 openldap-host
–env LDAP_ORGANISATION=“example” 配置LDAP组织名称
–env LDAP_DOMAIN=“example.com” 配置LDAP域名
–env LDAP_ADMIN_PASSWORD=“123456” 配置LDAP密码
默认登录用户名:admin
执行结果如图:
image-f0b21be6a374419ba97e9fb3fe74fb2f

2)、通过docker run命令运行osixia/phpldapadmin

docker run \
-d \
--privileged \
-p 8080:80 \
--name myldapadmin \
--env PHPLDAPADMIN_HTTPS=false \
--env PHPLDAPADMIN_LDAP_HOSTS=172.16.109.91 \
--detach osixia/phpldapadmin

image-3053b1989ccf4130b84a24e87525c1de

注释如下:
-d 分离模式启动容器
–privileged 特权模式启动(使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。)
–env PHPLDAPADMIN_HTTPS=false 禁用HTTPS
–env PHPLDAPADMIN_LDAP_HOSTS =172.16.109.91 配置openLDAP的IP或者域名,我安装ldap机器IP就是172.16.109.91。

4、登录

通过访问phpldapadmin管理地址http://172.16.109.91:8080 进行登录与管理,登陆界面如下:
image-9582a4138d9c44f4ae35b1bef647b342

点击login进行登录,

Login DN:cn=admin,dc=example,dc=com
Password:123456

image-dad499b9860e4bb2adb3c553d3673985-1666773930877

5、配置
首先要新建 Organisational Unit、Generic(组织单位),在该组织下新建Posix Group(默认用户组),然后再新建 User Account(用户帐户),按照顺序依次创建即可。
image-9d170e4a536f436481ccbadcb58fd2db

如新建组织单位:Tech,用户组:Users,用户帐户:zhangsan,如下图:
image-40faba77876549a6ab422126bf638818

此时该用户的dn为cn=zhangsan,ou=Tech,dc=example,dc=com如果想使用uid来识别用户可以在界面中rename修改用户的dn。
image-8cf57139351f4c2dab8f7d692ea51352
image-6af17b985a96432585454922a514b268

为该用户添加新的属性Add new attribute,如添加Email,输入用户邮箱即可。
image-532962633ef5415f90e9b657f46ba20c

文章作者: 阳光•雨
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阳光•雨
Docker LDAP Docker安装部署openldap
喜欢就支持一下吧