openldap快速入门

1,438 阅读4分钟

「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」。

简介

ldap是一个轻型目录访问协议,而openldap是实现了该协议且增加了其他功能的一个开源软件

openldap官网: www.openldap.org/

openldap主要来做统一登陆,账号统一管理,相比每套系统一套账号,管理起来更加方便和标准(比如,新员工入职一键开通所需系统账号,离职一键清理账号,自动改密等,规模越大ldap作用越大)

openldap支持且不限于以下系统:

gitlab,wiki,cmdb,禅道,sslvpn,jenkins,发布平台,堡垒机,zabbix,HR系统,财务系统,各系统后台等

概念

  • BaseDN 根目录,具体内容自定义,类似一个域名(libaigo.com)分成两部分(dc=libaigo,dc=com)
  • ou 组织名称,类似于公司部门的样子
  • group 群组,类似于部门下的各种小组
  • cn 公共名称,类似于身份名称
  • uid 用户的id
  • dn 完整的用户标识

目录结构关系图

image.png

安装

以往使用yum或apt的方式安装openldap,对于不熟悉的用户来说并非易事。还好现在有了容器技术,屏蔽了安装细节,pull镜像,直接启动既可

目前openldap官方最新的版本是2.6,但是因为我们这里使用第三方提供的容器安装,这里目前是2.4版本.

不过比较贴心的是,提供openldap容器的大佬还提供了openldapadmin(一个界面化管理openldap的工具)

github.com/osixia/dock… github.com/osixia/dock…

docker方式安装openldap

这里我们关闭了TLS,然后以主机模式启动了openldap,这样389端口就会监控在宿主机上

docker run -p 389:389 --name openldap --env LDAP_TLS=false --network bridge --hostname openldap-host --env LDAP_ORGANISATION="libaigo" --env LDAP_DOMAIN="libaigo.com" --env LDAP_ADMIN_PASSWORD="Pa123456" --detach osixia/openldap:1.5.0

docker方式安装openldapadmin

openldapadmin是一个php写的管理openladp的界面工具, 注意IP替换成openldap所在主机的ip

docker run -d  -p 6443:443 --name phpldapadmin --env PHPLDAPADMIN_LDAP_HOSTS=IP --detach osixia/phpldapadmin:0.9.0

访问https://IP:6443 访问管理面页

界面长这个样子,左边的内容是测试时增加的 image.png

桌面管理工具

因为openldapadmin 会话超时很短,用起来有点蛋疼,,也可以下载桌面管理工具,有2个

第1个是ldap admin: www.ldapadmin.org/ 下载完后解压就只有一个单独exe执行程序

第2个是jxploere: www.jxplorer.org/index.html 下载完需要安装

这2个工具功能上差不多,觉得那个顺眼用那个就好

image.png

image.png

ldapadmin工具使用

这里以ldapadmin桌面工具为例说明工具如何使用,其它2个都差不多,懂了就都懂了

以下为ldapadmin官方的介绍,除了支持管理openldap还支持windows活动目录,增删改查等必备功能外,还支持管理Samba和Postfix,,另外在设置密码时还支持多种加密策略 image.png

下载ldapadmin

访问Download( www.ldapadmin.org/download/in… )页面然后点击: Program Files 既可下载。

在下载页面有个语言包链接(支持中文),支持1.6以下版本的ldapadmin,因为我们要下载最新版1.8,所以语言包就用不上了

下载完成后,解压,就是单独的exe可执行文件,也需要安装,运行既可 image.png

连接openldap

运行ldapadmin后,点一下绿色箭头的 连接。。然后新建一个连接 image.png

连接属性如下,openldap默认的管理员是admin,账密是上面安装时设置的

Base也是在安装时指定的 image.png

创建组织

连接上后,应该没有任何组织和用户

image.png

鼠标右键点击dc=libaigo,然后新建一个Organizational unit image.png

在弹出框创建一个node的部门,以此类推创建java,go,scala,php等部门 image.png

创建用户

想要创建用户,需要在指定的ou里面创建,否则会直接创建在根目录下

以下示例在node组织下创建一个node1的用户

image.png

image.png

接下来设置密码,右键选择用户,设置密码,加密方式选SHA1既可

image.png

依此类推,创建node2,node3,node4,node5等用户

创建组

分组分类是用户管理的一种好方法。

在ou=node组织上,右键创建group,取名为vue,然后将node1,node2加入到该组

image.png

ldapadmin使用演示到此就结束了,界面工具多用用就熟悉了,还是很简单的