利用Docker为自己打造一套OpenLdap认证系统

Ldap

轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP/ˈɛldæp/)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。

摘自维基百科,关于LDAP概念和原理可以看看这篇文章 LDAP概念和原理介绍

服务端

镜像

1
docker pull osixia/openldap:1.3.0

容器

1
2
3
4
5
6
7
8
docker run -p 389:389 --name openldap --restart=always \
--env LDAP_ORGANISATION="jakehu" \
--env LDAP_DOMAIN="jakehu.me" \
--env LDAP_ADMIN_PASSWORD="jakehu" \
--env LDAP_CONFIG_PASSWORD="jakehu" \
--volume /data/database:/var/lib/ldap \
--volume /data/config:/etc/ldap/slapd.d \
--detach osixia/openldap:1.3.0

参数

端口:默认服务端口使用389端口
LDAP_ORGANISATION:机构组织
LDAP_DOMAIN:域
LDAP_ADMIN_PASSWORD:管理员(admin)密码
LDAP_CONFIG_PASSWORD:配置管理密码
/etc/ldap/slapd.d:配置文件
/var/lib/ldap:后端数据,默认为mdb

客户端

镜像

1
docker pull ldapaccountmanager/lam:7.2.RC1

容器

1
2
3
4
5
6
7
docker run -d --restart=always --name ldapaccountmanager -p 9880:80 \
--link openldap:openldap \
--env LDAP_DOMAIN=jakehu.me \
--env LAM_LANG=zh_CN \
--env LDAP_SERVER=ldap://openldap:389 \
--env LAM_PASSWORD=jakehu \
--detach ldapaccountmanager/lam:7.2.RC1

参数

LAM_LANG:语言
LDAP_SERVERLdap服务器
LAM_PASSWORDlam密码,默认用户名lam

配置

接下来访问http://IP:9880就能看到下面画面

点击LAM configuration进入配置界面


这里的密码,就是我们设置的LAM_PASSWORD

另外设置的LDAP_SERVERLDAP_DOMAIN都被体现出来了,最后在Account types中修改默认创建的两个组,这两个组会在首次登陆系统时提示创建

然后登陆创建我们刚设置的两个组

看下结构树,两个分组已经被创建了

到此就已经完成docker版的openldaplam的安装配置


o – organization(组织-公司)
ou – organization unit(组织单元-部门)
c - countryName(国家)
dc - domainComponent(域名)
sn – suer name(真实名称)
cn - common name(常用名称)

我就想试试,没别的意思!