משימות תחזוקה של OpenLDAP

מיקום קובץ יומן

קובצי יומן מסוג OpenLDAP נמצאים בספרייה /opt/apigee/var/log. הקבצים האלה יכולים להיות מועברים לארכיון מדי פעם או מוסרים מדי פעם, כדי לוודא שהם לא תופסים כמות גדולה מדי של דיסק. המרחב המשותף. ניתן למצוא מידע על תחזוקה, העברה לארכיון והסרה של יומני OpenLDAP בקטע 'סעיף' 19.2 של מדריך OpenLDAP בכתובת 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 מתואר איך לשנות את פתח את סיסמת המערכת של LDAP אבל עליך לדעת את הסיסמה הקיימת. אם איבדתם את אפשר להשתמש בתהליך הבא כדי לאפס אותה.

  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:
    /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 החדשה סיסמה:
    APIGEE_ADMINPW=newPassWord
  4. מגדירים את ממשק המשתמש של Edge ומפעילים אותו מחדש:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (רק אם TLS מופעל בממשק המשתמש) הפעלה מחדש של TLS בממשק המשתמש של Edge בתור שמתואר במאמר הגדרת TLS לניהול UI.

מחיקת קובץ נעילה לפי הסכם 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.

מבצעים את השלבים שבתהליך הבא בצומת OpenLDAP של רפליקטור, שמשמש ליצירת רפליקה. את הנתונים שלו צומת OpenLDAP אחר. לדוגמה, אם מגדירים רפליקציה מצומת 1 ל-Node2, להריץ את הפקודות ב-Node1.

  1. בודקים את המצב הנוכחי:
    ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {PASSWORD} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

    הפלט אמור להיראות כך:

    olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={PASSWORD} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
  2. יוצרים קובץ repl.lidf ומדביקים את הפקודות הבאות בקובץ:
    dn: olcDatabase={2}bdb,cn=config
    changetype: modify
    replace: olcSyncRepl
        olcSyncRepl: rid=001
        provider=ldap://{NEW_HOST}:{PORT}/
        binddn="cn=manager,dc=apigee,dc=com"
        bindmethod=simple
        credentials={PASSWORD}
        searchbase="dc=apigee,dc=com"
        attrs="*,+"
        type=refreshAndPersist
        retry="60 1 300 12 7200 +"
        timeout=1

    הקפידו להחליף את הערך המתאים ב-placeholders הבאים:

    • {NEW_HOST}: מארח OpenLDAP החדש, שאותו מתכננים לשכפל.
    • {PORT}: יציאת OpenLDAP. יציאת ברירת המחדל היא 10389.
    • {PASSWORD}: הסיסמה ל-OpenLDAP.
  3. מריצים את הפקודה ldapmodify:
    ldapmodify -x -w {PASSWORD} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f repl.ldif
        

    The output should be similar to the following:

    modifying entry "olcDatabase={2}bdb,cn=config"
  4. אימות רפליקציה:
    ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {PASSWORD} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

    הפלט אמור להיראות כך:

    olcSyncrepl: {0}rid=001 provider=ldap://{NEW_HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={PASSWORD} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    כדי לוודא שרפליקציה פועלת כראוי, צריך לקרוא ולהשוות את ערך של contextCSN מכל שרת ולוודא שהוא תואם.

    ldapsearch -w {PASSWORD} -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 contextCSN | grep contextCSN

פתרון בעיות ברפליקציית 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. כדאי לבדוק את ההגדרות של מכשירי IPtable ו-tcp wrapper.