OpenLDAP 維護工作

記錄檔位置

OpenLDAP 記錄檔位於 /opt/apigee/var/log 目錄中。這些檔案可定期封存及移除,以確保不會佔用過多磁碟空間。如要瞭解如何維護、封存及移除 OpenLDAP 記錄,請參閱 OpenLDAP 手冊第 19.2 節:http://www.openldap.org/doc/admin24/maintenance.html

手動設定使用者密碼

使用者可以在 Edge UI 中要求新的 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 根據使用者的使用者 ID 設定使用者密碼:
    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. 在 UI 節點上停止 Edge UI:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. 使用 ldappasswd 設定 Edge sys 管理員密碼:
    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 UI 的設定檔:
    APIGEE_ADMINPW=newPassWord
  4. 設定並重新啟動 Edge UI:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (僅限 UI 已啟用 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 包裝函式設定。