烂泥:OpenLDAP安装与配置,通过docker方式(三)

本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下

IT技术分享QQ群:571981257

有关openldap的安装与配置,我在前两篇文章种已经做过介绍,但是那两篇文章的安装方法感觉还是比较复杂,今天我们再来介绍下通过docker方式安装ldap。

PS:以下安装步骤,不再做过多的文字说明,直接上详细的配置步骤。

一、配置基础环境

1.1 使用docker本地yum源

华为源:

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

sed -i sed -i ‘s+download.docker.com+mirrors.huaweicloud.com/docker-ce+’ /etc/yum.repos.d/docker-ce.repo

阿里云源:

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

中科大源:

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

clip_image002[4]

在此,我们使用的是华为的本地docker源。

1.2 安装docker

使用以下命令安装docker,如下:

yum -y install docker-ce bash-completion && systemctl start docker && systemctl enable docker && systemctl status docker

clip_image004[4]

clip_image006[4]

通过上图,我们可以很明显的看出docker已经安装成功。

二、安装openldap

2.1 拉取ldap镜像

拉取ldap镜像,使用如下命令:

docker pull osixia/openldap:1.5.0

clip_image008[4]

由于众所周知的原因,我们也可以使用阿里云加速,如下:

docker pull p9ip4xdx.mirror.aliyuncs.com/osixia/openldap:1.5.0

clip_image010[4]

2.2 启动ldap服务

使用如下命令启动ldap服务:

docker run -dit –name ldap_test –restart=always -p 389:389 -p 636:636 -e LDAP_ORGANISATION=”ilanni” -e LDAP_DOMAIN=”ilanni.com” -e LDAP_ADMIN_PASSWORD=”123456″ osixia/openldap:1.5.0

clip_image012[4]

上述命令的意思是,创建一个dc=ilanni,dc=com的ldap服务,并且管理员密码为123456的ldap服务。

现在来查看ldap服务是否正常启动,如下:

docker ps |grep ldap

docker logs -f ldap_test

clip_image014[4]

通过上述命令,可以很明显的看出ldap服务已经正常启动。

2.3 测试ldap服务

现在我们使用ldapadmin工具进行测试,如下:

clip_image016[4]

clip_image018[4]

通过上图,我们可以很明显的看出ldapadmin已经正常连接ldap服务。同时也可以看到目前ldap里面是没有任何数据的。

三、导入ldap初始数据

3.1 构建ldap初始化数据

由于新建的ldap是没有初始化数据的,所以就需要我们手工创建初始化数据。

相关初始化数据,如下:

clip_image020[4]

该初始化数据包含2个部分,初始化了ou以及该ou下的子dn。主要功能是创建了两个OU,其中ou=Group,dc=ilanni,dc=com用来存放用户组,ou=People,dc=ilanni,dc=com用来存放用户。

同时还在ou=Group,dc=ilanni,dc=com下创建了一个cn=yunweibu,ou=Group,dc=ilanni,dc=com的用户组,并且在该用户组下还包含了一个uid=ilanni,ou=People,dc=ilanni,dc=com的用户,在ou=People,dc=ilanni,dc=com下创建了一个uid=lichenqing,ou=People,dc=ilanni,dc=com的用户。

3.2 导入ldap初始化数据

由于我们目前是docker方式运行的,所以我们要首先进行该容器里面执行相关操作。如下:

clip_image022[4]

注意以下操作,均是在该容器里面执行。

然后在该容器里面把上述初始化数据执行下,如下:

clip_image024[4]

执行导入命令,如下:

ldapmodify -x -h 127.0.0.1 -p 389 -D cn=admin,dc=ilanni,dc=com -w 123456 -a -f test.ldif

clip_image026[4]

通过上述截图,我们可以很明显的看出ldap初始化数据已经成功导入。

3.3 查看ldap数据

ldap初始化数据导入完毕后,我们就可以通过ldapadmin工具查看数据,如下:

clip_image028[4]

clip_image030[4]

通过以上截图,我们可以很明显的看出目前ldap中确实有两个OU,并且各自都自己的子dn。

ou=Group下有新建的用户组,以及该用户组包含了一个用户ilanni,ou=People下有新建的用户,该用户的uid为lichenqing。

这和我们前面初始化的数据是一一对应的。

四、docker安装ldap的特殊点

docker方式安装的ldap和通过yum方式以及ldif文件方式,是有几点不同的。下面进行一一介绍:

第一:docker方式安装的ldap的管理员只能是admin,目前暂时不能进行自定义。

第二:docker方式安装的ldap的默认已经配置了groupOfUniqueNames用户组属性,无需再单独配置。

第三:docker方式安装的ldap默认使用的数据库类型为mdb,而不是yum方式安装的hdb。如果要使用hdb类型的数据库,可以通过LDAP_BACKEND环境变量来修改。

第四:docker方式安装的ldap默认是支持多主同步架构的。

五、有关ldap用户属性介绍

在3.1《构建ldap初始化数据》章节中,我们构建了用户组和用户的相关属性。

在此我们专门介绍下用户的几个属性:

cn、sn、userpassword

clip_image032[4]

可以看到,上述属性中cn和sn的内容比较特殊不是:属性:内容,而是属性::内容这是因为上述cn和sn都是中文通过base64加密后得到的

我们可以通过base64解密,查看其内容,如下:

clip_image034[4]

通过上述我们也得到一个结论,在ldap的ldif文件中,只要是包含中文的属性值,都是经过base64加密处理过的。

同时我们也看到userpassword属性值也是属性::内容,但是该值不是通过base64加密的,它是通过其他无法解密方式进行加密的。

到此通过docker方式安装ldap,就已经全部结束。

以上所有的操作步骤,可以下载,点我下载

未经允许不得转载:烂泥行天下 » 烂泥:OpenLDAP安装与配置,通过docker方式(三)

赞 (264) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏