OpenLDAP 维护任务

日志文件位置

OpenLDAP 日志文件包含在 /opt/apigee/var/log 目录中。您可以定期归档和移除这些文件,以确保它们不会占用过多的磁盘空间。如需了解如何维护、归档和移除 OpenLDAP 日志,请参阅 OpenLDAP 手册第 19.2 节(网址为 http://www.openldap.org/doc/admin24/maintenance.html)。

手动设置用户密码

用户可以在 Edge 界面中请求新的 Edge 密码。然后,用户会收到一封电子邮件,其中包含有关设置密码的信息。但是,如果您的 SMTP 服务器已关闭,或者用户出于任何原因无法接收电子邮件,您可以使用 OpenLDAP 命令手动设置用户密码。

如需设置用户密码,请执行以下操作:

  1. 使用 ldapsearch 下载用户信息:
    ldapsearch -w ldapAdminPWord -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389 > ldap.txt
  2. 在 ldap.txt 文件中搜索用户的电子邮件地址。您应该会看到一个格式为以下形式的代码块:
    dn: uid=29383a67-9279-4aa8-a75b-cfbf901578fc,ou=users,ou=global,dc=apigee,dc=com
    mail: foo@bar.com
    userPassword:: e1NTSEF9a01UUDdSd01BYXRuUURXdXN5OWNPRzBEWWlYZFBRTm14MHlNVWc9PQ==
    uid: 29383a67-9279-4aa8-a75b-cfbf901578fc
  3. 使用 ldappasswd 根据用户的 uid 设置用户的密码:
    ldappasswd -h LDAP_IP -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s newPassWord \
      "uid=29383a67-9279-4aa8-a75b-cfbf901578fc,ou=users,ou=global,dc=apigee,dc=com"

    系统会提示您输入 OpenLDAP 管理员密码。

用户现在可以使用 newPassWord 登录。

手动设置 OpenLDAP 系统密码

重置 Edge 密码介绍了如何更改 OpenLDAP 系统密码,但需要您知道现有密码。如果您忘记了该密码,可以使用以下步骤重置密码。

  1. 使用 slappasswd 为新密码创建 SSHA 加密密码:
    slappasswd -h {SSHA} -s newPassWord

    此命令会返回以下格式的字符串:

    {SSHA}+DOup9d6l+czfWzkIvajwYPArjPurhS6

  2. 在编辑器中打开 /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif 文件:
    vi /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
  3. 找到以下格式的行:
    olcRootPW:: OldPasswordString
  4. OldPasswordString 替换为从 slappasswd 返回的字符串。如果 olcRootPw 后面有 2 个冒号,请移除其中一个,并确保冒号后面有空格:
    olcRootPW: {SSHA}RGon+bLCe+Sk+HyHholFBj8ONQfabrhw
  5. 重启 OpenLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart
  6. 使用 ldapsearch 检查新密码是否有效:
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389

    系统会提示您输入 OpenLDAP 管理员密码。

  7. 在用于复制的任何其他 OpenLDAP 服务器上重复上述步骤。
  8. 更新管理服务器以使用新密码:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPassWord

手动设置 Edge 管理员密码

重置 Edge 密码介绍了如何更改 Edge 系统密码,但需要您知道现有密码。如果您忘记了 Edge 系统密码,可以使用以下步骤重置密码。

  1. 在界面节点上,停止 Edge 界面:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. 使用 ldappasswd 设置 Edge 系统管理员密码:
    ldappasswd -h localhost -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s newPassWord \
      "uid=admin,ou=users,ou=global,dc=apigee,dc=com"

    系统会提示您输入 OpenLDAP 管理员密码。

  3. 使用新的 Edge 系统密码更新用于安装 Edge 界面的配置文件:
    APIGEE_ADMINPW=newPassWord
  4. 配置并重启 Edge 界面:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (仅当界面上启用了 TLS 时)按照为管理界面配置 TLS 中的说明,在 Edge 界面上重新启用 TLS。

删除 SLAPD 锁定文件

如果您在尝试启动 OpenLDAP 时收到 slapd.pid 锁定文件存在的错误,可以删除该文件。

该文件位于 /opt/apigee/apigee-openldap/var/run/slapd.pid 中。删除该文件并尝试重启 OpenLDAP:

/opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart

如果 OpenLDAP 未启动,请尝试在调试模式下启动,并检查是否存在错误:

slapd -h ldap://:10389/ -u apigee -d 255 -F /opt/apigee/data/apigee-openldap/slapd.d

错误可能指向资源问题、内存问题或 CPU 使用率问题。

排查 OpenLDAP 复制问题

如果您的安装使用多个 OpenLDAP 服务器,您可以检查复制设置,确保这些服务器正常运行。

  1. 确保 ldapsearch 会从每个 OpenLDAP 服务器返回数据:
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389

    系统会提示您输入 OpenLDAP 管理员密码。

  2. 通过检查 /opt/apigee/conf/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif 文件检查复制配置。
  3. 确保每个 OpenLDAP 服务器上的系统密码相同。
  4. 检查 iptables 和 tcp 封装容器设置。