1. docker 容器化搭建 OpenLDAP
1.1. 准备工作
(1)需要在本地虚拟机或者服务器中安装docker。
(2)在运行之前我们首先需要将openLDAP的docker镜像拉取到本地。使用命令。
1 | docker pull osixia/openldap |
此时拉取到的镜像就是最新版本的,如果要拉取指定版本的,则在上条命令中加入对应tag即可,如:
1 | docker pull osixia/openldap:1.3.0 |
(3)还需要一个可视化的ldap管理工具,我使用的是phpldapadmin。同样使用docker pull命令拉取对应镜像。
1 | docker pull osixia/phpldapadmin |
1.2. 运行openLDAP
1 | docker run -p 389:389 -p 636:636 \ |
参数如下:
- -p 389:389 \ TCP/IP访问端口,-p 636:636 \ SSL连接端口。
- –name your_ldap 容器名称为your_ldap
- –hostname openldap-host 设置容器主机名称为 openldap-host
- –env LDAP_ORGANISATION=“example” 配置LDAP组织名称
- –env LDAP_DOMAIN=“example.com” 配置LDAP域名
- –env LDAP_ADMIN_PASSWORD=“youedata520” 配置LDAP密码
- -v /data/ldap/data:/var/lib/ldap 配置数据映射到本地
- -v /data/ldap/conf:/etc/ldap/slapd.d 配置文件映射到本地
- 默认登录用户名:admin
1.3. 运行phpldapadmin
1 | docker run \ |
参数如下:
- -d 分离模式启动容器
- –privileged 特权模式启动(使用该参数,container内的root拥有真正的root权限。
- 否则,container内的root只是外部的一个普通用户权限。)
- –env PHPLDAPADMIN_HTTPS=false 禁用HTTPS
- –env PHPLDAPADMIN_LDAP_HOSTS =192.168.101.196 配置openLDAP的IP或者域名,我的openLDAP是在本地192.168.101.196启动。
1.4. 登录
用户名:cn=admin,dc=example,dc=com
密码:Pass1234cn
在运行成功后访问phpldapadmin,地址为:192.168.101.196,如图所示
点击登录,用户名为cn=admin,dc=example,dc=com 密码:Pass1234cn
1.5. 在界面新建组与用户
先创建一个组织单元,我这里创建研发部
这里点击Commit即可
创建成功
然后在该部门中创建组,或者不在细分的话也可直接创建用户。为了演示我就都先创建组然后创建用户。
同样点击刚创建好的RD部的条目,点击create a child entry,选择Posix Group,创建一个开发组。
点击Commit即可
创建成功
在新建的组下添加用户,选中developmnt条目,创建子条目,选择User Account或Account,推荐使用User Account,因为User Account中包含了Account,还增加了更多的属性。
点击Commit
创建完成
此时该用户的dn为cn=zhang san,cn=development,ou=RD,dc=example,dc=com,如果想使用uid来识别用户可以在界面中rename修改用户的dn。
修改成功
1.6. 在界面使用LDIF 文件进行组与用户的创建
选择import
在界面选择import,可直接输入LDIF文件内容,也可导入对应的LDIF文件,如创建一个RD部门下的devops组。
文件内容:
1 | dn: cn=devops,ou=RD,dc=example,dc=com |
创建成功
在devops组下创建一个uid=lisi的人员
文件内容
1 | dn: uid=lisi,cn=devops,ou=RD,dc=example,dc=com |
创建成功
LDIF文件可以从相似的条目中导出,然后稍作修改后进行创建。如图
导出
可以将下面的内容复制修改后在import即可