LDAP统一认证管理平台搭建文档
一.准备环境
os:ubuntu18.0410.3.8.41
安装软件:LDAPPHPLDAPADMIN
二.开始安装
1.修改host
vim /etc/hosts
10.3.8.41 pk.com
127.0.0.1 pk.com
2.安装LDAP
\# apt install slapd ldap-utils
设置LDAP的admin的密码
3.安装了后,我们来使用配置文件添加几个组和用户来测试LDAP的可用性
\# cat add\_ldif
dn: ou=People,dc=pk,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=pk,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=miners,ou=Groups,dc=pk,dc=com
objectClass: posixGroup
cn: miners
gidNumber: 5000
dn: uid=john,ou=People,dc=pk,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
\# ldapadd -x -D cn=admin,dc=pk,dc=com -W -f ad.ldif
Enter LDAP Password:
adding new entry "ou=People,dc=pk,dc=com"
adding new entry "ou=Groups,dc=pk,dc=com"
adding new entry "cn=miners,ou=Groups,dc=pk,dc=com"
adding new entry "uid=john,ou=People,dc=pk,dc=com"
上述执行成功后,说明我们的LDAP可用了。
三.安装LDAP的web管理工具PHPLDAPADMIN
1.安装:
#apt-get install phpldapadmin
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
liblua5.2-0 libsodium23 php php-common php-ldap php-xml php7.2 php7.2-cli php7.2-common php7.2-json php7.2-ldap php7.2-opcache
php7.2-readline php7.2-xml phpldapadmin ssl-cert
在ubuntu上会默认安装php7.x的高版本,但是ubuntu18.04对这个支持不是很好![](blob:https://www.kancloud.cn/7bf08cac-538d-4c5d-8a84-5edd83c1d4c3)
会有很多函数不可用,遇到这种情况,我在网上找到一种解决办法,修改源代码。
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890127,具体看这个博客。
2.修改phpldapadmin的配置文件
![](blob:https://www.kancloud.cn/0cfb774f-e807-4432-ac02-84b321bd1c86)
\# cat/etc/phpldapadmin/config.php
3.配置apache的虚拟主机,默认安装的phpldapadmin还会帮我们安装apache2,我们直接启动姐可以了
#/etc/init.d/apache2 start
4.我们可以访问:http:ip:port/phpladpadmin访问到web界面。![](blob:https://www.kancloud.cn/2cc061f9-1e23-4b45-b021-03061d2839e2)
5.登陆:![](blob:https://www.kancloud.cn/63bfc741-f70a-4654-9f2d-4979062ec0c3)
修改成对应的dc然后输入管理员admin的密码,即可登陆。
6.创建用户:
进入页面后我们可以看到之前用来测试的建的几个ou,ou代表组织,ou底下可以添加用户。
![](blob:https://www.kancloud.cn/348a51f7-4791-4e1d-9d5b-a0f3b0814d8d)
我们现在ldap上添加一个ou组,名字叫做ou=KUBE\_SYSTEM的组织,代表新平台的运维组,按下图操作,ldap的数据存储是目录,我们很容易看出哪个条目属于哪个目录,我们在base dn下创建ou
![](blob:https://www.kancloud.cn/9c266f82-c912-4e41-8efe-28fd64acc1f1)
![](blob:https://www.kancloud.cn/16105ed8-f26a-4f5f-b1ac-dac48ee98dd7)
点击提交即可创建ou
我们在KUBE\_SYSTEM组织下给同事创建一个用户,
第一步点击我们的ou=KUBE\_SYSTEM这个组织,展开这个目录,
第二步点击创建,选择模版
![](blob:https://www.kancloud.cn/de35d951-1b93-42c9-84a7-ba8d1c280e19)![](blob:https://www.kancloud.cn/e7b081c3-ad20-4f74-87ff-69f2837736e1)
![](blob:https://www.kancloud.cn/68ba5058-7665-467b-9db0-13c277c3b4c1)
点击提交我们就成功创建了这个用户。
四.LDAP与jumpserver集成
1.首先我们以管理用户登陆到jumpserver中,点击系统设置,知道LDAP设置
![](blob:https://www.kancloud.cn/9d6e175f-5284-41b5-b1cf-7b14f037245c)
LDAP地址:填LDAP的地址
绑定DN:输入管理员条目的DN
密码:输入管理员的密码
用户OU:输入你的创建的分组OU,他就只会去匹配你分组底下的用户,多个OU用I分割
用户过滤器:就是匹配分组的账户下的某个字段可以有uid sn cn都可以
LDAP属性映射:将ldap分组用户下的某个属性映射jumpserver的某个属性
填好上述内容后,点击test测试一下看可以匹配到用户,如果测试匹配到用户,就可以点击提交,然后用ldap的用户去登陆jumpserver,登陆成功后,管理员用户可以看到ldap的用户加入到用户设置中了。![](blob:https://www.kancloud.cn/e53f0319-cf31-47f7-88cb-dd2b46c3e6a8)
五.LDAP与jenkins集成
1.首先我们以管理员用户登陆上jenkins,找到设置ldap的地方。
![](blob:https://www.kancloud.cn/80cb00ba-54f9-45fb-b2d5-7f3eead0edb5)
2.启用ldap
![](blob:https://www.kancloud.cn/97919bed-9b82-49b3-baa1-2ad07512b571)
3.编辑配置,并且点击测试,测试成功即可保存,登出jenkins然后用授权的账号进行登陆。
![](blob:https://www.kancloud.cn/9ea46ccb-be2a-4823-ac2e-ecfc668dffcc)
![](blob:https://www.kancloud.cn/e246d3d8-aa60-4bf3-8258-7dfd7b3ce2dc)