参考:
https://github.com/osixia/docker-openldap
https://github.com/osixia/docker-phpLDAPadmin
创建自定义网络
docker network create openldap
安装openldap
docker run -d --name openldap \
--restart always \
-p 389:389 -p 636:636 \
--hostname ldap.mycompany.com \
--net openldap \
--env LDAP_ORGANISATION="mycompany" \
--env LDAP_DOMAIN="mycompany.com" \
--env LDAP_ADMIN_PASSWORD="ldap@123" \
-v openldap-db:/var/lib/ldap \
-v openldap-config:/etc/ldap/slapd.d \
osixia/openldap
参数说明:
安装phpldapadmin
php ldap admin(也称为PLA)是一个基于Web的LDAP客户端。它为LDAP服务器提供简单,随处可访问的多语言管理。
docker run -d --name phpldapadmin \
--restart always \
-p 8443:443 \
--net openldap \
--env PHPLDAPADMIN_LDAP_HOSTS=openldap \
osixia/phpldapadmin
参数说明:
访问phpldapadmin,点击login进行登录
https://192.168.93.9:8443
Login DN:cn=admin,dc=mycompany,dc=com
Password:ldap@123
docker inspect openldap -f "{{.Mounts}}"
清理安装环境(所有数据被清理,包括卷和网络)
docker rm -f openldap phpldapadmin
docker volume rm openldap-config openldap-db
docker network rm openldap
创建网络
docker network create openldap
创建docker-compose文件
# cat docker-compose.yml
version: "3"
services:
openldap:
container_name: "openldap"
image: "osixia/openldap:latest"
restart: always
networks:
- openldap
environment:
LDAP_ORGANISATION: "mycompany"
LDAP_DOMAIN: "mycompany.com"
LDAP_ADMIN_PASSWORD: "ldap@123"
LDAP_CONFIG_PASSWORD: "ldap@123"
volumes:
- openldap-db:/var/lib/ldap
- openldap-config:/etc/ldap/slapd.d
ports:
- '389:389'
- '636:636'
phpldapadmin:
container_name: "phpldapadmin"
image: "osixia/phpldapadmin:latest"
restart: always
networks:
- openldap
depends_on:
- openldap
environment:
#PHPLDAPADMIN_HTTPS: "false"
PHPLDAPADMIN_LDAP_HOSTS: "openldap"
ports:
- '8443:443'
networks:
openldap:
volumes:
openldap-config:
openldap-db:
运行容器
docker-compose up -d
查看容器运行状态
# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------
openldap /container/tool/run Up 0.0.0.0:389->389/tcp, 0.0.0.0:636->636/tcp
phpldapadmin /container/tool/run Up 0.0.0.0:8443->443/tcp, 80/tcp
清理安装环境(所有数据被清理,包括卷和网络)
docker-compose down -v
点击create new entry here—>Generic: Organisational Unit,这里名称为groups
同样方式创建users,创建完成后如下所示:
点击ou=groups—>Create a child entry
选择Generic: Posix Group
组名称自定义,这里配置为dev,点击Create Object—>Commit
同样方式可以创建更多组,dev开发组、test测试组、prod生产组等,创建完成后如下:
在users基础域下创建一个zhangsan的用户。
点击ou=users—>Create a child entry
选择Generic: User Account
填写用户信息,注意选择GID Number,这里选择为dev
同样方式可以创建更多用户,创建完成后如下所示:
为用户附加更多属性,选择某个用户点击Add new attribute,依次下拉选择displayName及Email进行配置:
为组附加更多属性,选择某个组点击Add new attribute,下拉选择memberUid进行配置:
Jenkins默认使用自带数据库模式存储用户,在企业中一般都会有统一的认证中心,例如 LDAP、ActiveDirectory中管理用户。可以配置Jenkins集成实现统一用户管理。
参考:https://plugins.jenkins.io/ldap/
首先,需要在Jenkins系统中安装LDAP插件(默认已安装),然后进入系统管理 ->全局安全配置页面中选择LDAP,配置以下信息:
server:
192.168.93.9:389
User search base:
ou=users,dc=mycompany,dc=com
Group search base:
ou=groups,dc=mycompany,dc=com
Manager DN:
cn=admin,dc=mycompany,dc=com
Manager Password:
ldap@123
配置示例:
然后点击Test LDAP settings,这里使用用户szhang进行测试,这里密码为123456
测试完成后返回成功信息
点击保存,注销jenkins账号重新登陆,显示登陆用户为张三:
参考:
https://blog.csdn.net/mylitboy/article/details/88865428
https://www.cnblogs.com/fengjian2016/p/12494784.html
https://www.cnblogs.com/xiaomifeng0510/p/9564688.html
https://cloud.tencent.com/developer/article/1349446