מדריך Open LDAP למנהל רשת

מתוך הויקי של ג'נטו.

קפיצה אל: ניווט, חיפוש

תרגום של OpenLDAP Software 2.3 Administrator's Guide על ידי Oldie.

תוכן העניינים

[עריכה] הקדמה

[עריכה] זכויות יוצרים

זכויות היוצרים 1998-2005, Open LDAP Foundation, כל הזכויות שמורות.
זכויות היוצרים 1992-1996, חבר הנאמנים של אוניברסיטת מישיגן, כל הזכויות שמורות.

מסמך זה נחשב כחלק מתוכנת OpenLDAP. מסמך זה כפוף לתנאים וההתניות הרשומים בהערות לזכויות יוצרים של תוכנת OpenLDAP ולרשיון הציבורי של OpenLDAP. העתקים של זכויות היוצרים והרשיון הנלווה נמצאים הנספחים B ו-C בהתאם.

[עריכה] תכולת המסמך

מסמך זה מספק מדריך להתקנת תוכנת OpenLDAP גרסה 2.3 (http://www.openldap.org/software) במערכות יוניקס (ותואמות יוניקס). המסמך מיועד למנהלי מערכת מנוסים אולם אינו מניח נסיון קודם בהפעלת תוכנה מבוססת LDAP.

המסמך מיועד לשימוש בצמוד למקורות ידע נוספים של OpenLDAP, המסופקים יחד עם התוכנה ובאתר של התוכנה (http://www.openldap.org) ברשת האינטרנט. האתר מספק מספר מקורות.

מקור מידע קישור
קטלוג מסמכים http://www.openldap.org/doc
שאלות נפוצות http://www.openldap.org/faq
מערכת מעקב נושאים לטיפול http://www.openldap.org/its
רשימות דיוור http://www.openldap.org/lists
דפי תוכנה http://www.openldap.org/software
דפי תמיכה http://www.openldap.org/support

[עריכה] תודות

פרויקט OpenLDAP מורכב מצוות מתנדבים. מסמך זה לא היה אפשרי ללא תרומת זמנם ומרצם.

פרויקט OpenLDAP מבקש להודות לה-LDAP של אוניברסיטת מישיגן על בנית היסודות של תוכנת LDAP והמידע שעליו מבוססת תוכנת OpenLDAP. מסמך זה מוצאו ממסמך U-Mich LDAP document: The SLAPD and SLURPD Administrators Guide.

[עריכה] תוספות

הצעות לשיפורים ותיקונים במסמך זה יש להעביר על ידי שימוש במערכת המעקב לנושאים בטיפול (http://www.openldap.org/its) של ה OpenLDAP.

[עריכה] היכרות עם שירותי המדריך של OpenLDAP

מסמך זה מתאר כיצד לבנות, לנהל תצורה, ולהפעיל את תוכנת OpenLDAP כדי לספק שירותי ספריה (תרגום צולע של Directoty Services). כולל פרטים כיצד לנהל תצורה ולהריץ את השדון (Daemon) העצמאי של LDAP, ואת השדון העצמאי של העדכון והשכפול slurpd. המסמך מיועד לבאים זה מקרוב ולמנוסים כאחד. חלק זה מספק הכרות בסיסית לשירותי הספריה, ובמיוחד לאילו הניתנים על ידי slapd.

[עריכה] מה זה שירות ספריה?

הספריה הינה סוג מיוחד של בסיס נתונים אשר מיועד במיוחד לקריאה, סריקה וחיפוש. ספריות נוטות להכיל תיאורים, מידע מבוסס איפיונים ותומכות ביכולות סינון מתוחכמות. בדרך כלל ספריות לא יתמכו בטרנזקציות מסובכות או בסכימה של עדכון לאחור, תכונות הנמצאות בבסיסי נתונים המתוכננים לטפל בעידכוני מידע בנפח גבוה. עידכוני הספריה אם בכלל ניתן לבצעם, הינם בדרך כלל שינויים פשוטים בסגנון הכל או לא כלום. הספריות מכווננות לתת תגובה מהירה לכמות גדולה של חיפושים. על מנת לשפר זמינות ואמינות תוך קיצור זמן התגובה, יש להן את היכולת ליצור עותקי מידע. כאשר נוצר עותק של ספריה, אי תאימויות זמניות יכולות להתקיים, כל עוד בסופו של דבר כל העותקים יסונכרנו.

ישנן דרכים רבות לספק שירותי ספריה. שיטות שונות מאפשרות לאחסן סוגים שונים של מידע בספריה, להציב דרישות שונות בנוגע לצורה בה נתיחס למידע זה, נבצע עליו שאילתות ונעדכנו, כיצד נגן עליו מפני גישה לא מורשית וכו'. חלק משרותי הספריה הינם מקומיים, מספקים מידע בתחום מוגבל (לדוגמה שירות finger במחשב בודד). שירותים אחרים הנם הרבה יותר גלובלים ומספקים מידע בתחום נרחב בהרבה (למשל האינטרנט כולו). שירותים גלובלים בדרך כלל הנם מבוזרים, כלומר המידע שהם מכילים מחולק בן הרבה מחשבים המשתפים פעולה כדי לספק את שירותי הספריה. בדרך כלל שירות גלובלי מגדיר מרחב שמות (namespace) אחיד אשר נותן מבט אחיד על המידע ללא קשר למקומך היחסי למידע. מערכת השמות של האינטרנט (DNS) הנה דוגמה לשירות ספריה גלובלי מבוזר.

[עריכה] מה זה LDAP?

LDAP הינו קיצור של Lightweight Directory Access Protocol (ממשק פשוט לגישה לספריות). כפי שהשם מרמז, זהו ממשק פשוט לגישה לשירותי ספריה, ובמפורש שירותי ספריה מבוססי תקן X.500. ה-LDAP עובד על גבי ממשק TCP/IP או פרוטוקול התקשרות אחר. הפרטים המדוייקים של LDAP מאופיינים בתקן RFC2251 ובמסמכים אחרים המכילים את המפרט הטכני RFC3377. חלק זה, נותן סקירה של LDAP מזווית המשתמש.

איזה מידע ניתן לאחסן בספריה? מודל המידע של LDAP מבוסס על רשומות. רשומה הינה אוסף של תכונות שיש להם שם יחודי (globally-unique Distinguished Name) הקרוי DN. ה-DN מאפשר להתייחס לרשומה ללא כפילויות. לכל אחת מן התכונות יש סוג וערך אחד או יותר. הסוג מוגדר במספר אותיות כגון "cn" עבור שם משותף (common name) או "mail" עבור כתובת דוא"ל. התחביר של הערכים תלוי בסוג התכונה. לדוגמא תכונת cn יכולה להכיל את הערך Babs Jensen. תכונת "mail" יכולה להכיל את הערך "babs@example.com". תכונת jpegPhoto תכיל תצלום בפורמט בינארי JPEG.


כיצד מאורגן המידע? ב-LDAP הרישומים בספריה מאורגנים בהיררכיה דמוית עץ. באופן מסורתי, מבנה זה יצג את התחומים הגיאוגרפים ו/או האירגוניים. רשומות המייצגות ארצות הופיעו בראש העץ. מתחת להם יש מדינות (כמו בארה"ב) ואירגונים לאומיים. מתחת להם יוכלו להיות רשומות המייצגות חטיבות בארגונים, אנשים, מדפסות, מסמכים, או כל דבר אחר שתוכל לחשוב עליו. דיאגרמה 1.1 מראה דוגמה לספרית LDAP תוך שימוש בשמות מסורתיים.

ניתן לסדר את העץ תוך התבססות על ידי שימוש בשמות מתחם אינטרנט (Internet domain names).הפופולריות של גישה זו למתן שמות גוברת בגלל היכולת לאתר לאתר שירותי סםריה תוך שימוש ב-DNS. דיאגרמה 1.2 (קישור) מדגימה ספריית LDAP המתבססת על שמות מתחם.

בנוסף, LDAP מאפשר לך לקבוע אילו תכונות הן נחוצות ומאופשרות ברשימה על ידי השימוש בתכונה מיוחדת הקרויה objectClass. ערכי תכונת objectClass קובעים את חוקי הסכימה שעל הרשומה לציית.

מהם מראי המקום של המידע? מראה המקום של רשומה הינו שמה היחודי, אשר נבנה משם הרשומה (שם יחודי יחסי, Relative Distinguished Name ובראשי תיבות RDN), ושירשור השמות של אבותיה. לדוגמה הרשומה של Barbara Jensen בתרשים 1.2 (שמות לפי מתחם אינטרנט). לרשומה יש RDN של uid=babs ו-DN בערכים של: uid=babs,ou=People,dc=example,dc=com. פורמט DN המלא מתואר בRFC2253, וקרוי "Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names".

כיצד ניגשים למידע? LDAP מגדיר פעולות תשאול ועדכון לספרייה. ישנן פעולות להוספה ומחיקת רשומה מהספריה, שינוי רשומה קיימת, ושינוי שם רשומה. אולם, רוב השימוש ב-LDAP הוא לשם חיפוש מידע בספריה. פעולות החיפוש של LDAP מאפשרות לחפש על חלק מהספריה אחר רשומות המאופיינות על ידי קריטריון סינון. ניתן לקבל מידע מכל הרשומות המתאימות לקריטריון.

לדוגמה, תרצה אולי לחפש בתת-עץ של הספריה וברמות מתחת לו את dc=example,dc=com עבור אנשים עם השם Barbara Jensen, ולשחזר את כתובת הדוא"ל מתוך כל הרשומות המתאימות לקריטריון. LDAP מאפשר לעשותזאת בקלות. לחילופין אולי תרצה לחפש אחר רשומות מתחת לרמה של st=California,c=US אחר ארגונים שהמחרוזת Acme נמצאית בשמם, ושיש להם מספר פקס. גם זאת מאפשר LDAP. החלק הבא מתאר בפירוט רב יותר מה ביכולתך לעשות עם LDAP וכיצד זה עשוי להיות שימושי לך.

כיצד מוגן המידע מגישה לא מורשית? חלק משירותי הספריה אינם מספקים הגנה, ומאפשרים לכל אחד לצפות במידע. LDAP מספק מנגנון לאימות הלקוח, או להוכחת זהותו לשירותי הספריה, ובכך חוצב את הדרך לבקרת גישה מגוונת כדי להגן על המידע שמכיל השרת. LDAP מספק גם שירותי הגנת מידע (תקינות מידע וחסיון).

[עריכה] כיצד עובד LDAP?

שירות הספריה של LDAP מתבסס על מודל שרת-לקוח. שרת אחד או יותר של LDAP מכיל את נתונים היוצר את עץ המידע של הספריה (directory information tree ר"ת DIT). הלקוח מתחבר לשרת ושואל אותו שאלה. השרת מגיב עם תשובה ו/או מצביע למקום בו הלקוח יכול לקבל מידע נוסף (בדרך כלל שרת LDAP נוסף). אין זה משנה לאיזה שרת LDAP התחבר הלקוח, שכן הוא יראה את אותה תמונת מידע. שם אשר יוצג לשרת LDAP אחד מתייחס לאותה רשומה בכל שרת LDAP אחר. זוהי תכונה חשובה של שירות ספריה גלובלי כו LDAP.

[עריכה] מה בקשר ל X.500?

מבחינה טכנית LDAP הינו פרוטוקול גישה לספריה אל שרותי ספרית X.500 לפי הגדרת OSI. בתחילה, לקוחות LDAP נגשו למחשב מגשר לשירותי X.500. מגשר זה הפעיל LDAP בינו לבין הלקוח, והפעיל פרוטוקול גישה לספרית X500 (קרוי גם Directory Access Protocol או בר"ת DAP), בינו לבין מפעיל ה X.500 על גבי TCP/IP וסיפק את מירב הפונקציונאליות של DAP במחיר נמוך בהרבה.

אם כי עדיין יש שימוש ב LDAP כדי לגשת לספרית X.500 דרך מגשר, כיום LDAP ממומש באופן ישיר בשרתי X.500.

הדמון העצמאי של LDAP, או slapd, יכול להראות כשרת ספרית X.500 "קליל". ז"א שאינו מממש X.500 DAP ואף אינו תומך בכל המודלים של X.500.

אם הנך כבר מריץ שירות של X.500 DAP, וברצונך להמשיך לעשות כן, אין טעם להמשיך לקרוא במדריך זה. המדריך מוקדש להפעלת LDAP באמצעות slapd, ללא הרצת X.500 DAP. אם אינך מריץ X.500 DAP, או שברצונך להפסיק להשתמש בו, או שאין לך תוכניות עתידיות לגבי X.500 DAP, המשך לקרוא.

ניתן לשכפל מידע מספרית LDAP אל X.500 DAP DSA. דבר זה דורש מגשר LDAP/DAP. תוכנת OpenLDAP אינה מספקת גישור שכזה, אולם ניתן להשתמש בדמון השכפול כדי לשכפל אל מגשר שכזה. ראה את הפרק על שכפול עם sluprd במסמך זה.

[עריכה] מהו ההבדל בן LDAPv3 ול- LDAPv2?

LDAPv3 פותח בסוף שנות ה90 כדי להחליף את LDAPv2. גרסה LDAPv3 מוסיפה את היכולות הבאות ל LDAP:

  • יכולות חזקות באימות ואבטחת מידע דרך SASL.
  • שירותי אישור מקוריות ואבטחת מידע דרך SSL) TLS).
  • בינאום על ידי שימוש ביוניקוד
  • הפניות והארכות (המשכות)
  • גילוי סכימה
  • יכולות הרחבה (בקרים, פעולות מורחבות ועוד).

LDAPv2 הינו הסטוריה RFC3494. מאחר ורוב הישומים שלכאורה מיישמים LDAPv2 (כולל slapd), אינם תואמים למפרט הטכני LDAPv2, החלפת המידע בן ישומים אלו הנה מוגבלת. מאחר ו-LDAPv2 שונה משמעותית מ LDAPv3, הטמעה של 2 הגרסאות במקביל הנה בעייתית למדי. יש להמנע מ LDAPv2 וכברירת מחדל הוא מנוטרל.

[עריכה] מה זה slapd ומה ביכולתו לעשות

slapd הנו שרת ספרית LDAP אשר מופעל על הרבה פלטפורמות שונות. אתה יכול להשתמש בו כדי לבנות שירותי ספריה משלך. הספריה יכולה לכלול כמעט כל מה שברצונך לשים בתוכה. אתה יכול לחברה לשרת ספרית LDAP גלובלי, או להריץ את השירות באופן עצמאי. כמה מהאפשרויות והיכולות היותר מענינות של slapd הינם: LDAPv3: מימוש של גרסה 3 של LAPD. תומך LDAP על גבי IPv4, IPv6 וגם Unix IPC.

שכבת אימות ואבטחה פשוטה: slapd תומך באימות ובהצפנת מידע ברמה גבוה (שלמות וחסיון) על ידי שימוש ב- SASL. המימוש של SASL ב-slapd מכיל את תוכנת SASL Cyrus התומכת במספר מנגנונים כולל: DIGEST-MD5, EXTERNAL, וגם GSSAPI.

אבטחה של Transport Layer: שירותי אימות מידע מבוסס "תעודה" (סרטיפיקציה), ואבטחת מידע (שלמות וחסיון) דרך השימוש ב-TLS (או SSL). המימוש של TLS ב-slapd מתבסס על תוכנת OpenSSL.

בקרת טופולוגיה: ניתן להגדיר את slapd כך שיגביל גישה בשכבת ה-socket לפי מידע על טופולוגית הרשת. יכולת זו מאפשרת TCP wrappers.

בקרת גישה: slapd מספק אמצעים רבים לבקרת גישה, ומא]פשר לך לשלוט על הגישה למידע שבבסיס(י) הנתונים. אתה יכול לשלוט על גישה לרשומות בהסתמך על מידע של הרשאות LDAP, כתובת IP, שם דומיין וקריטריונים אחרים. slapd תומך גם בבקרת גישה סטטית וגם דינמית.

בינאום: slapd תומך ביוניקוד ובתגי שפה.

בחירה של מנוע בסיס הנתונים: slapd מגיע עם מגוון של מנועי בסיסי נתונים שניתן לבחור מהם. הם כוללים את BDB, בסיס נתונים בעל ביצועים לביצוע טרנזקציות. HDB, בסיס נתונים היררכי בעל ביצועים מעולים. LDBM, גרסה "קלילה" ל-DBM. גישה לתסריטי על ידי SHELL. גישה ססמאות passwd על ידי PASSWD. מנועי BDB וגם HDB משתמשים ב Berkeley DB Sleepycat. LDBM משתמש ב-Berkeley DB או ב-GDBM.

ריבוי של בסיסי נתונים: ניתן לכוון את slapd כך שישרת מספר בסיסי נתונים באותו זמן. ז"א ששרת slapd בודד יכול ללענות לבקשות מהרבה חלקים של עץ LDAP השונים זה מזה בצורה לוגית, על ידי שימוש בבסיס נתונים זהה או במספר מנועי בסיסי נתונים שונים.


מודולי API גנרים: אם נדרשת לך התאמה נוספת, slapd מאפשר לך לכתוב מודולים משלך בקלות. ל-slapd שני חלקים נפרדים: חלק קדמי המטפל בפרוטוקול תקשורת עם לקוחות LDAP . ומודולים המטפלים המשימות יעודיות כגון פעולות על בסיס נתונים. מאחר ו-2 חלקים אלו מתקשרים דרך API מוגדר היטב בשפת C, ביכולתך לשנות את המודולים אשר ירחיבו את slapd בדרכים רבות. בנוסף נתונים מספר מודולים לתכנות בסיס נתונים. מודולים אלו מאפשרים לך לחשוף מקורות מידע חיצוניים ל-slapd תוך שימוש בשפות תכנות פופולריות (פרל, shell, SQL, TCL).

פיצול לתת תהליכים: כדי לקבל ביצועים גבוהים, slapd מפוצל לתת תהליכים (Threads). תהליך אחד של slapd מטפל בכל הבקשות הנכנסות על ידי שמוש במאגר של תתי-תהליכים. דבר זה מוריד את התקורה של המערכת ובו בזמן מספק ביצועים גבוהים.

שיכפול: ניתן להגדיר את slapd כך שיתחזק עותקים של מידע הספריה. סכימת שכפול זו של אב אחד / הרבה בנים הנה חיונית בסביבה עם נפח גדול כאשר slapd בודד אינו יכול לספק את הזמינות והאמינות הרצויה. slapd תומך ב-2 שיטות שכפול: סנכרון LDAP, ושכפול תוך שימוש בתוכנת slurpd.

מטמון תווך: ניתן להשתמש ב slapd כשירות מטמון למתווך LDAP.

הגדרה: ניתן להגדיר את התנהגות slapd על ידי שמוש בקובץ ההגדרה, המאפשר לך לשנות כמעט כל דבר שהיית רוצה. לאפשרויות התצורה יש ערכי ברירת מחדל הגיונים, אשר הופכים את עבודת ההגדרה לקלה יותר.

[עריכה] מהו slurpd ומה באפשרותו לבצע

slurpd הינו דמון שבעזרת slapd, נותן שירות שכפול. באחריותו להפיץ עדכונים שנעשו לעותק הראשי של בסיס הנתונים של slapd אל ההעתקים השונים של slapd. הדמון slurpd משחרר את slapd מהצורך לדאוג שכמה מההעתקים לא יהיו פעילים או זמינים כאשר נוצר שינוי. slurpd מטפל בשליחה חוזרת של בקשות שנכשלו באופן אטומאטי. slapd ו-slurpd מתקשרים בינהם על ידי קובץ טקסט פשוט אשר משומש כיומן השינויים.

כדי לקבל עוד מידע כיצד יש לערוך את ההגדרות של slurpd, קרא את הפרק שכפול באמצעות slurpd במדריך זה.

לחילופין, ניתן לקבל שירות שיכפול תוך שימוש ב LDAP-sync. ראה את הפרק סנכרון באמצעות LDAP במדריך זה.

[עריכה] מדריך להתחלה מהירה

זהו מדריך להתחלה מהירה עם OpenLDAP גרסה 2.3, הכולל את הדמון slapd.

המדריך אמור לכוון אותך בשלבים הראשונים של ההתקנה וקביעת תצורת OpenLDAP. יש להשתמש בו ביחד עם פרקים אחרים של מסמך זה, דפי מדריך, וחומר נוסף המסופק עם ההפצה (למשל מסמך INSTALL), או הנמצא באתר האינטרנט של OpenLDAP (במיוחד דף השאלות הנפוצות FAQ).

אם ברצונך לעבוד באופן רציני עם OpenLDAP, עליך לעבור על כל המסמך לפני שתנסה להתקין את התוכנה.


הערת המתרגם: לעניות דעתי ממולץ להשתמש בתוכנת ניהול החבילות של ההפצה שברשותכם, כמו aptget בדביאן, ולהמנע מהתקנה בדרך המתוארת להלן. ההתקנה בדרך זו אינה מתחשבת בצורה בה ההפצה שלכם רוצה להתקין את התוכנה ולא תאפשר תחזוקה או הסרה בכלים של ההפצה. ג'נטו לדוגמה, ממקמת חלק מן הקבצים במקומות אחרים.


הערה: מדריך התחלה מהירה זה אינו משתמש במנגנון אימות זהות מתקדם או בשירותי בדיקת תוכן או חסיון. שירותים אלו מתוארים בפרקים אחרים של המדריך למנהל OpenLDAP.


1. השג את התוכנה

באפשרותך להשיג עותק על ידי מעקב אחר ההוראות בדף ההורדה של OpenLDAP. למשתמשים חדשים מומלץ להשתמש בגרסה העדכנית ביותר.


2. פרוק את אריזת החבילה

בחר ספרייה כדי למקם בה את קוד המקור. שנה ספרייה לשם, והוצא את התוכן מהקובץ הדחוס כך:

‎      gunzip -c openldap-VERSION.tgz | tar xvfB -

עתה, שנה מיקום לספרית ההפצה:

‎cd openldap-VERSION

עליך להחליף את VERSION עם שמה של גרסת ההפצה.

3. צפייה בתיעוד

עתה עליך לצפות המסמכים הבאים COPYRIGHT, LICENSE, README, INSTALL המסופקים עם ההפצה. COPYRIGHT וגםLICENSE נותנים מידע כיצד מותר להשתמש בתוכנה, להעתיקה ומגבלות האחריות של תוכנת Open LDAP

עליך לקרוא פרקים נוספים של מסמך זה. במיוחד את הפרק בניה והתקנת תוכנת OpenLDAP המספק דרישות מקדימות והוראות התקנה.

4. הרץ את configure

עליך להריץ את תסריט configure המצורף כדי להתאים את ההפצה לבנית התוכנה על גבי המחשב שלך. לתסריט configure יש הרבה משתני שורה המאפשרים או מונעים יכולות של התוכנה. ברירת המחדל של משתנים אלו מתאימה לרוב המערכות, אולם באפשרותך לשנות זאת. כדי לקבל רשימה מלאה של הפקודות אותן configure יכול לקבל, השתמש בפקודת --:help


‎./configure --help

בהנחה שהנך משתמש במדריך זה, אנו נניח שהנך אמיץ מספיק כדי לתת ל configure לבחור מה עדיף:

‎./configure

בהנחה של-configure אין דבר נגד המחשב שלך, המשך לבנית התוכנה. אם configure התלונן, כנראה שתצטרך לפנות לשאלות נפוצות - התקנה ו/או לקרוא ממש את הפרק בניה והתקנת תוכנת OpenLDAP במסמך זה.

5. בנית התוכנה

הצעד הבא הוא בנית התוכנה. צעד זה מתחלק ל-2 חלקים, קודם נבנה את התלויות, ואח"כ נהדר את התוכנה:

‎      make depend
‎      make

הפקודות הנ"ל אמורות לעבור בהצלחה.

6. בדוק את הבניה

כדי להבטיח בניה נכונה, עליך להפעיל את ערכת הבדיקה (זה לוקח דקות ספורות בלבד):

‎make test

בדיקות הנוגעות לתצורה שנקבעה עבור המערכת שלך יבוצעו, ועליהן לעבור בהצלחה. חלק מן הבדיקות כגון בדיקות שכפול, לא יבוצעו.

7. התקן את התוכנה

הנך מוכן עתה להתקנת התוכנה. דבר זה דורש בדרך כלל הרשאות משתמש על:

‎su root -c 'make install'

התוכנה צריכה להיות מותקנת מתחת לספריה usr/local/ , או במקום אחר לפני הנחייה שנתנה בעת הרצת configure.

8. ערוך את קובץ ההגדרות.

השתמש בעורך התמליל המועדף עליך כדי לערוך את קובץ הדוגמה slapd.conf המצורף. הקובץ ממוקם בדרך כלל ב usr/local/etc/openldap/slapd.conf/. עליך לשנותו כך שיכיל הגדרה של בסיס נתונים BDB בצורה:

‎      database bdb
‎      suffix "dc=<MY-DOMAIN>,dc=<COM>"
‎      rootdn "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>"
‎      rootpw secret
‎      directory /usr/local/var/openldap-data

עליך להחליף את <MY-DOMAIN> ואת <COM> בחלקים המתאימים לשם המתחם שלך. לדוגמה עבור example.com יש להשתמש ב:

‎suffix "dc=example,dc=com"
‎rootdn "cn=Manager,dc=example,dc=com" 

במידה ושם המתחם שלך מכיל מרכיבים נוספים כגון eng.uni.edu.eu עליך לרשום:

‎uffix "dc=eng,dc=uni,dc=edu,dc=eu"
‎rootdn "cn=Manager,dc=eng,dc=uni,dc=edu,dc=eu" 

פרטים נוספים הנוגעים לתצורת slapd נמצאים בדף המדריך של slapd.conf ובפרק קובץ ההגדרות של slapd במסמך זה.

9. הפעלת SLAPD

הנך מוכן להפעלת שרת LDAP, על ידי הפעלת הפקודה

‎su root -c /usr/local/libexec/slapd

כדי לבדוק אם השרת פועל ומוגדר נכון באפשרותך להפעיל חיפוש כנגדו עם ldapsearch. כברירת מחדל, ldapsearch מותקן ב /usr/local/bin/ldapsearch

‎ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

שים לב לשימוש בגרש יחיד (') מסביב לפרמטרים של הפקודה, וזאת על מנת למנוע שיבוש בעת קריאת אותיות מיוחדות. התגובה תהיה:

‎      dn:
‎      namingContexts: dc=example,dc=com

פרטים הקשורים להרצת slapd ניתן למצוא בדף המדריך של slapd, ובפרק הפעלת slapd במסמך זה.

10. הוסף רשומות התחלתיות לספריה.

באפשרותך להוסיף רשומות לספרית LDAP על ידי שימוש ב slapd. פקודת ldapadd מקבלת נתונים בפורמט LDIF. נעשה זאת ב-2 שלבים:

א. יצירת קובץ LDIF

ב. הרצת ldapadd

בתשמש בעורך הטקסט המועדף עליך וצור קובץ LDIF המכיל:

‎      dn: dc=<MY-DOMAIN>,dc=<COM>
‎      objectclass: dcObject
‎      objectclass: organization
‎      o: <MY ORGANIZATION>
‎      dc: <MY-DOMAIN>
‎
‎      dn: cn=Manager,dc=<MY-DOMAIN>,dc=<COM>
‎      objectclass: organizationalRole
‎      cn: Manager

זכור להחליף <MY-DOMAIN> ו- <COM> ברכיבי שם המתחם שלך. יש להחליף את <MY ORGANIZATION> עם שם החברה שלך. כאשר הנך מעתיק, יש למחוק את כל הרווחים לפני ואחרי הדוגמה:

‎      dn: dc=example,dc=com
‎      objectclass: dcObject
‎      objectclass: organization
‎      o: Example Company
‎      dc: example
‎
‎      dn: cn=Manager,dc=example,dc=com
‎      objectclass: organizationalRole
‎      cn: Manager

עתה באפשרותך להפעיל את ldapadd כדי להכניס רשומות אלו לספריה.

‎ldapadd -x -D "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>" -W -f example.ldif

זכור להחליף <MY-DOMAIN> ו- <COM> ברכיבי שם המתחם שלך. אתה תשאל לגבי הסוד ("secret ") אשר מצויין בקובץ ldap.conf. לדוגמה ב- example.com השתמש ב:

‎ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f example.ldif

כאשר example.ldif הינו הקובץ אותו יצרת בדוגמה הנ"ל.

מידע נוסף לגבי יצירת ספרייה ניתן למצוא בפרק כלים ליצירה ותחזוקה של בסיס נתונים במסמך זה.

11. בדוק אם זה עובד.

עתה אנו מוכנים לבדוק אם הרשומות שהוכנסו נמצאות בספריה. באפשרותך לעשות זאת תוך שימוש בכל לקוח LDAP, אולם אנו נשתמש ב- ldapsearch. זכור להחליף את dc=example,dc=com בערכים המתאימים לאתר שלך:

‎      ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'

פקודה זו תחפש ותפיק את כל הרשומות בבסיס הנתונים.

אתה מוכן עתה להוסיף רשומות נוספות עם ldapadd או לקוח LDAP אחר, לנסות הגדרות שונות וכו'.

כברירת מחדל, בסיס הנתונים של slapd נותן הרשאת קריאה לכולם למעט משתמש העל (כפי שצויין על ידי הגדרת rootdn). מומלץ מאד לשנות הגדרה כדי להגביל את הגישה למשתמשים מורשים. דבר זה נידון בפיסקה של בקרת גישה בפרק קובץ ההגדרות של slapd. מומלץ לקרוא גם את הפסקות הדנות בשיקולי אבטחה, השימוש ב-SASL ו- השימוש ב-TLS]].

הפרקים הבאים מפרטים יותר את ההתקנה וההפעלה של slapd.

[עריכה] התמונה הגדולה - אפשרויות תצורה

חלק זה מספק מבט קצר על התצורות השונות של ספרית LDAP, וכיצד שרת slapd שלך משתלב עם שאר העולם.

[עריכה] שירות ספריה מקומי

בתצורה זו, slapd מספק שירותי ספריה למתחם המקומי שלך בלבד. הוא אינו מתקשר עם שרתי ספריה אחרים בשום צורה. תצורה זו מודגמת בתרשים 3.1 השתמש בתצורה זו אם זוהי הפעם הראשונה שלך (זוהי התצורה שמדריך להתחלה מהירה נוקט בה) או אם ברצונך לתת שירותים מקומיים ואינך מעונין להתחבר לשאר העולם. קל לשדרג תצורה זו לאחרת אם תרצה בכך.

[עריכה] שירות ספריה מקומי עם הפניות

בתצורה זו, אתה מריץ slapd אשר מספק שירותי ספריה מקומים למתחם שלך, אולם הוא מותאם כך שכאשר הבקשה חורגת מהמתחם המקומי שלך, הוא נותן הפניה לשרת בדרגה מעל אשר יטפל בבקשה זו. באפשרותך להריץ שירות זה בעצמך או להשתמש באחד שמסופק לך. תצורה זו מודגמת בתרשים 3.2. השתמש בתצורה זו כאשר אתה רוצה להשתמש בספריה באופן מקומי ולהשתתף הספריה גלובלית.

[עריכה] שירות ספריה משוכפל

כדי לגרום לשינויים ל"חלחל" בין slapd ראשי לאלו הכפופים לו משתמשים בדמוןslurpd . תרשים 3.3 מראה תצורה זו. ניתן להשתמש בתצורה זו בשילוב כל אחת מהתצורות הקודמות, במצבים בהם slapd בודד אינו מסוגל לספק את הזמינות או האמינות הנדרשת.

[עריכה] שירות ספריה מקומית מבוזר

בתצורה זו, השירות המקומי מחולק לשירותים קטנים יותר, כל אחד מהם ניתן לשכפול ולהדבקה עם מצביעים ברמה מעל או מתחת.

[עריכה] בניה והתקנת תוכנת OpenLDAP

הערת המתרגם: פרק זה מספק מידע חשוב לגבי ההתקנה, אולם אלו אשר זה להם הנסיון הראשון בתחום זה, טוב יעשו אם ישתמשו בחבילת ההתקנה הנתונה בהפצה בה הם משתמשים.


פרק זה מתאר כיצד יש לבנות ולהתקין את חבילת התוכנה Open LDAP והכוללת את slapd דמון עצמאי של LDAP וגם את slurpd , דמון המשמש לשכפול ועדכון. הבניה וההתקנה של OpenLDAP דורשת מספר צעדים: התקנת תוכנה הנדרשת לפני התקנת OpenLDAP , ארגון תצורת OpenLDAP עצמה, הידור, ולבסוף התקנה. הסעיפים הבאים מתארים את התהליך בפרוטרוט.

[עריכה] השגה והוצאת התוכנה מהארכיב

באפשרותך להשיג את התוכנה מדף ההורדות של הפרויקט ב: http://www.openldap.org/software/download/ או משירות ה-FTP של הפרויקט הנמצא ב: ftp://ftp.openldap.org/pub/OpenLDAP/.

הפרויקט מספק 2 חבילות לשימוש כללי. הפרויקט משחרר גרסאות חדשות כאשר יכולות חדשות או תיקוני שגיאות נעשים זמינים. אע"פ שהפרויקט נוקט צעדים כדי לשפר את היציבות של שחרורים אלו, אין זה נדיר כי ימצאו בעיות רק לאחר השחרור. הגרסה היציבה (stable) היא הגרסה האחרונה שהפגינה יציבות בשימוש כלילי. בהתאם לצורכיהם, משתמשי OpenLDAP יכולים לבחור בן הגרסה העדכנית ביותר עם היכולות החדשות ביותר לעומת הגרסה שהפגינה את היציבות הרבה ביותר.

לאחר הורדת התוכנה, עליך להוציא את התוכנה מן הארכיב הדחוס, ולשנות את הספריה הנוכחית לזו של החבילה:

‎      gunzip -c openldap-VERSION.tgz | tar xf -
‎      cd openldap-VERSION

עליך להחליף את VERSION עם שם הגרסה של החבילה.

יש לצפות בתוכן הקבצים COPYRIGHT, LICENSE, README וגם INSTALL אשר מסופקים עם החבילה. הקבצים COPYRIGHT, LICENSE מספקים מידע באשר לאופן השימוש המותר, העתקה ומגבלות אחריות של תוכנת OpenLDAP. הקבצים README ו- INSTALL מספקים מידע מפורט באשר לתוכנות הנדרשות לפני ההתקנה ולתהליך ההתקנה עצמו.

[עריכה] תוכנה הנדרשת לפני ההתקנה

OpenLDAP נסמכת על מספר תוכנות המופצות על ידי צד שלישי. בהתאם ליכולות אותן אתה מתכוון להפעיל תצטרך לטעון ולהתקין מספר חבילות תוכנה נוספות. עבור מידע עדכני בנושא זה יש לקרוא את קובץ README. יתכן וחלק ותוכנות אלו יהיו תלויות גם בן בתוכנות נוספות. יש להתקין כל חבילה בהתאם להוראות ההתקנה המצורפות אליה.

[עריכה] אבטחת שכבת התובלה (Transport Layer)

תוכנת OpenLDAP (השרת ותוכנות הלקוח) דורשת התקנת ספריות של OpenSSL, כדי לספק אבטחת נתונים בשכבת התעבורה.אע"פ שכמה מערכות הפעלה עשויות לספק ספריות אלו כחלק מהחבילה הבסיסית או כרכיב ספריה אופציונלי, לעיתים קרובות יש להתקין OpenSSL בהתקנה נפרדת.

OpenSSL זמינה בhttp://www.openssl.org/. תוכנת OpenLDAP לא תוכל להיות תואמת ל- LDAPv3 אם configure לא יגלה התקנה שמישה של OpenSSL.

[עריכה] שירותי אימות Kerberos

שרתי ולקוחות OpenLDAP תומכים בשירותי אימות מבוססי קרברוס. OpenLDAP תומך במנגנון אימות SASL/GSSAPI תוך שימוש בתוכנת Hemidal או ב-MIT Kerberos V. אם ברצונך באימות קרברוס מסוג SASL/GSSAPI, עליך להתקין אחת מהחבילות הללו.

תוכנת Hemidal זמינה ב-http://www.pdc.kth.se/heimdal/. ואילו MIT Kerberos V זמין להורדה מ-http://web.mit.edu/kerberos/www/.

השימוש באמצעי אימות מתקדמים דוגמת אלו המסופקים על ידי קרברוס הינו ממולץ ביותר.

[עריכה] אימות פשוט ושכבת האבטחה

לקוחות ושרתי OpenLDAP צריכים התקנה מקדימה של ספריות Cyrus SASL. בכדי לספק שירותי אימות ושכבת אבטחה פשוטים. אע"פ שכמה מערכות הפעלה מספקות ספריה זו כחלק מהמערכת הבסיסית או כרכיב שאפשר להתקינו, יקרה לא אחת שיש להתקין את Cyrus SASL בהתקנה נפרדת.

ניתן להשיג את Cyrus SASL מ-http://asg.web.cmu.edu/sasl/sasl-library.html. Cyrus SASL יעשה שימוש ב=OpenSSL וגם בספריות Kerberos/GSSAPI במידה והם כבר מותקנות.

OpenLDAP לא יחשב כתואם LDAPv3 במידה ובזמן configure לא מתגלה Cyrus SASL לפני ההתקנה.

[עריכה] תוכנת בסיס נתונים

הדמון slapd של OpenLDAP וחלקי בסיס הנתונים שלו BDB וגם HDB צריכים את תוכנת Berkeley DB של חברת Sleepycat Software. במידה ובסיס נתונים זה אינו זמין בזמן configure לא תוכל להדר את slapd.

במידה ובמערכת ההפעלה שלך תוכנה זו אינה נמצאת כחלק בסיסי או כתוסף, יהא עליך להתקינו בעצמך.

Berkeley DB זמין בקישור http://www.sleepycat.com/download/ באתר חברת Sleepycat Software יש יותר מגרסה זמינה אחת. בדרך כלל הגרסה העדכנית ביותר היא המומלצת. חבילה זו נדרשת אם ברצונך להשתמש ב-BDB או HDB.

OpenLDAP תומך במספר מנהלי בסיס נתונים כולל Berkeley DB וגם GDBM זה האחרון זמין להורדה מאתר FSF בכתובת ftp://ftp.gnu.org/pub/gnu/gdbm/.

[עריכה] תתי תהליכים

OpenLDAP מתוכנן לתמוך בתתי תהליכים (Threads) . קיימת תמיכה ב POSIX pthreads, Mach CThreads ובעוד כמה נגזרות. configure "יתלונן" אם הוא לא ימצא תמיכה של המערכת בתתי-תהליכים. במידה והנך נתקל בבעיה מעין זו, ניתן לחפש מידע בשאלות הנפוצות (FAQ)בחלק של Software|Installation|Platform Hints באתר http://www.openldap.org/faq/.

[עריכה] עטיפות TCP

slapd תומך בעטיפות TCP (מסנני בקרת גישה מבוססי IP) במידה והן הותקנו קודם לכן. השימוש בעטיפות או באמצעי סינון אחר ברמת ה-IP (כגון חומת אש העובדת ברמת ה-IP) מומלץ לשרתים המכילים מידע שאינו ציבורי.

[עריכה] הפעלת configure

השלב הבא הינו הרצת תסריט configure עם אפשרות help--. דבר זה יתן לך רשימת אפשרויות שניתן לשנותם כאשר בונים את OpenLDAP . רבות מהיכולות של OpenLDAP ניתנות לאיפשור או מניעה תוך שימוש בשיטה זו.

‎       ./configure --help

תסריט configure לוקח בחשבון כמה משתני מערכת לצורך אפשרויות מסויימות. משתני סביבה אלה הם:

משתנה תיאור
CC מציין מהדר שפת C חליפי
CFLAGS מציין דגלים נוספים של המהדר
CPPFLAGS מציין דגלים של קדם-מהדר
LDFLAGS מציין דגלים של תוכנת הקישור בן המודולים (Linker)
LIBS מציין ספריות נוספות

עתה הרץ את תסריט configure עם אפשרויות התצורה או משתני הסביבה שבחרת:

‎[[env] settings] ./configure [options]

כדוגמא, הבה נניח שברצוננו להתקין את OpenLDAP עם רכיב בסיס נתונים BDB ותמיכה במעטפת TCP. כברירת מחדל, BDB הינה אופציה שמאופשרת, ומעטפת TCP הינה אופציה שאינה מאופשרת. לכן כל שעלינו לעשות הוא להוסיף with-wrappers-- לשורת הפקודה כדי לאפשר מעטפת TCP.

‎./configure --with-wrappers
אם מעטפת ה-TCP אינה נמצאת בספריות המערכת, פעולה זו תיכשל. לדוגמא אם ספריות וקבצי הכותרות של מעטפת ה-TCP נמצאים ב- usr/local/lib/ וגם ב- / usr/local/include בהתאמה, אזי יש להפעיל את תסריט configure כך
‎env CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" \
‎                ./configure --with-wrappers

הערה: חלק מתוכנות מעטפת כגון Bourne sh(1), אינן דורשות שימוש בפקודת env. בחלק מן המקרים יש לציין משתני סביבה בצורה שונה.


בדרך כלל יגלה תסריט configure את כל ההגדרות הנדרשות. אם הנך נתקל בבעיות בשלב זה, יש לבדוק בעיות יחודיות לסביבת העבודה, ולבחון לעומק את האופציות של configure (אם ניתנו כאלה).

[עריכה] בנית התוכנה

לאחר שהפעלת את configure, שורת הפלט האחרונה צריכה להיות:

‎      Please "make depend" to build dependencies
כלים אישיים