基于Docker部署Ldap环境

一、运行Ldap容器

mkdir -p /data/ldap/{data,conf}
docker run -p 389:389 -p 636:636 \
--name my-openldap-container \
--env LDAP_TLS_VERIFY_CLIENT="never" \
--env LDAP_ORGANISATTON="openldap" \
--env LDAP_DOMAIN="yht.cn" \
--env LDAP_APMIN_PASSWORD="123456" \
-v /data/ldap/data:/var/lib/ldap \
-v /data/ldap/conf:/etc/ldap/slapd.d \
--detach osixia/openldap:1.4.0

-p 389:389 # LDAP端口
-p 636:636 # LDAP加密端口
LDAP_TLS_VERIFY_CLIENT="never" # 客户端认证,never代表不需要认证
LDAP_ORGANISATTON="openldap" # 组织名称
LDAP_DOMAIN="yht.cn" # 域名
LDAP_APMIN_PASSWORD="123456" # 超级管理员密码
/data/ldap/data:/var/lib/ldap # 数据库存储目录
/data/ldap/conf:/etc/ldap/slapd.d # 配置文件目录
--detach # 后台运行
osixia/openldap:1.4.0 # 容器镜像版本,不是ldap版本,参考hub.docker.com

二、 运行Ldapadmin容器

docker run -d --privileged \
-p 808:80 \
--name ldap_admin \
--env PHPLDAPADMIN_HTTPS=false \
--env PHPLDAPADMIN_LDAP_HOSTS=10.4.7.12 \
--detach osixia/phpldapadmin:0.9.0

PHPLDAPADMIN_HTTPS=false # 关闭https认证
PHPLDAPADMIN_LDAP_HOSTS=10.4.7.12 # 需要连接的ldap服务器地址
--detach # 后台运行
osixia/phpldapadmin:0.9.0 # 容器镜像版本,不是ldapadmin版本,参考hub.docker.com

三、Web访问

http://10.4.7.12:808/
基于Docker部署Ldap环境

Login DN: cn=admin,dc=yht,dc=cn # 默认cn为admin,域名为LDAP_DOMAIN="yht.cn",所以dc=yht,dc=cn
Password: admin # 默认密码为admin

四、修改管理员登陆密码

4.1通过命令行修改密码

注意此种修改密码手段不会修改页面的上密码,会生成一个独立的登陆密码
则后果是会有两个密码:
1、页面默认的admin登陆密码
2、在命令行生成的密码
admin用户的两个密码都可登陆系统,页面默认admin密码则在页面修改
命令行生成新密码不会影响页面密码

4.1.1 进入ldap容器

docker exec -it my-openldap-container bash

4.1.2 查看openldap管理员密码字段

root@b7026522c2d5:/# ldapsearch -H ldapi:// -LLL -Q -Y EXTERNAL -b "cn=config" "(olcRootDN=*)" dn olcRootDN olcRootPW
dn: olcDatabase={0}config,cn=config
olcRootDN: cn=admin,cn=config
olcRootPW: {SSHA}4+ojl/ieZ5XsfCW6wOXYpI9rbnxkOG7j

dn: olcDatabase={1}mdb,cn=config
olcRootDN: cn=admin,dc=yht,dc=cn
olcRootPW: {SSHA}6Ln5rybryWQV7kjl0Nz+cwEFdPjXQhCd

dn # 数据库配置
oldRootDN # 连接LDAP的DN
olcRootPW # 连接LDAP的密码

4.1.2 设置新密码

root@b7026522c2d5:/# slappasswd -s 123
{SSHA}0gnuRDuo3bXyBSpwwO+yfEnm1eT3Oofa

4.1.3 配置密码文件

cat > /root/newpasswd.ldif <<'EOF'
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}0gnuRDuo3bXyBSpwwO+yfEnm1eT3Oofa
EOF

{SSHA}9IMoAE6bt6nwIgDoGFUsQtvyupxubzdp # slappasswd -s 123设置输出的新密码
olcDatabase={1}mdb,cn=config # 更改mdb数据库配置
changetype: modify # 类型为更改
replace: olcRootPW # 更改的字段

4.1.4 导入配置

root@b7026522c2d5:/# ldapmodify -H ldapi:// -Y EXTERNAL -f /root/newpasswd.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}mdb,cn=config"

4.1.5 新密码登陆

基于Docker部署Ldap环境

Login DN: cn=admin,dc=yht,dc=cn
Password: 123

4.2 通过页面修改密码

基于Docker部署Ldap环境

扫描二维码关注公众号,回复: 12483691 查看本文章

猜你喜欢

转载自blog.51cto.com/yht1990/2633627