美文网首页
修改openLDAP管理员密码(docker-compose非容

修改openLDAP管理员密码(docker-compose非容

作者: 玄德公笔记 | 来源:发表于2022-09-23 22:05 被阅读0次

    1. 非容器化方式

    非容器化ldap更改管理员密码

    1.1 查看管理员信息

    • 命令
    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}QkwgTsAVaNGf2gBrbA/3t4ZsMrhQoXjI
    
    dn: olcDatabase={1}mdb,cn=config
    olcRootDN: cn=admin,dc=example,dc=org
    olcRootPW: {SSHA}j8m5H73mNVPYwJQv8Iz1UvU1uVddKDIJ
    

    如上可见,我们要修改的是第二段的cn=admin,dc=example,dc=org用户密码

    1.2 获取密码的加密字串

    root@9bf3f3854cf8:/# slappasswd -s flzxxxxxxxt
    {SSHA}YQUNQLtt3xxxxxxxxxxxxxxxx
    

    1.3 生成密码修改文件

    cat > /root/newpasswd.ldif <<"EOF"
    dn: olcDatabase={1}mdb,cn=config
    changetype: modify
    replace: olcRootPW
    olcRootPW: {SSHA}YQUNQLtt3xxxxxxxxxxxxxxxx
    EOF
    

    该文件用于修改管理员密码密码

    • dn: olcDatabase={1}mdb,cn=config,是1.1 中查出的数据
    • olcRootPW: 是1.2中获取的加密字串

    1.4 修改密码

    ldapmodify -H ldapi:// -Y EXTERNAL -f /root/newpasswd.ldif
    

    执行后新密码立即生效

    1.5 问题

    该方法旧密码在过期前仍然会生效。

    2. 容器化方式

    容器化方式启动的ldap,启动脚本会从环境变量中读取字串设置为密码,其变量如下:

    • LDAP_ADMIN_PASSWORD:1.1 中查到的cn=admin,dc=example,dc=org用户的密码变量。
    • LDAP_CONFIG_PASSWORD:1.1 中查到的cn=admin,cn=config用户的密码变量
    • 我们直接在docker-compose.yml中添加如下字段即可
      openldap:
        environment:
          #- LDAP_CONFIG_PASSWORD=liube@161
          - LDAP_ADMIN_PASSWORD=liubei@161
    

    相关文章

      网友评论

          本文标题:修改openLDAP管理员密码(docker-compose非容

          本文链接:https://www.haomeiwen.com/subject/dzanortx.html