运维开发网

基于Docker部署Ldap环境

运维开发网 https://www.qedev.com 2021-03-03 14:48 出处:51CTO 作者:yht_1990
一、运行Ldap容器mkdir-p/data/ldap/{data,conf}dockerrun-p389:389-p636:636\--namemy-openldap-container\--envLDAP_TLS_VERIFY_CLIENT="never"\--envLDAP_ORGANISATTON="openldap"\--envLDAP_DOMAIN="yht.cn"\--envLDAP

一、运行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管理员密码字段

[email protected]:/# 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 设置新密码

[email protected]:/# 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 导入配置

[email protected]:/# 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环境

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号