4.1. הגדרת OpenLDAP
ראשית, יש לטעון את הסכימה הדרושה בשרת OpenLDAP שיש לו קישוריות רשת ל-KDCs הראשי והמשני. שאר הסעיף הזה מניח שיש לך גם תצורת שכפול LDAP בין שני שרתים לפחות. למידע על הגדרת OpenLDAP ראה סעיף 1, "שרת OpenLDAP" [עמ'. 115].
זה גם נדרש להגדיר את OpenLDAP עבור חיבורי TLS ו-SSL, כך שהתעבורה בין שרת KDC ו-LDAP תהיה מוצפנת. ראה סעיף 1.8, "TLS" [עמ'. 129] לפרטים.
cn=admin,cn=config הוא משתמש שיצרנו עם הרשאות לערוך את מסד הנתונים של ldap. הרבה פעמים זה ה-RootDN. שנה את הערך שלו כך שישקף את ההגדרה שלך.
• כדי לטעון את הסכימה לתוך LDAP, בשרת LDAP התקן את חבילת krb5-kdc-ldap. ממסוף הזן:
sudo apt התקן את krb5-kdc-ldap
• לאחר מכן, חלץ את ה kerberos.schema.gz קובץ:
sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz
sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/
• יש להוסיף את סכימת kerberos לעץ cn=config. ההליך להוספת סכימה חדשה ל-slapd מפורט גם בסעיף 1.4, "שינוי מסד הנתונים של תצורת slapd" [עמ'. 120].
1. ראשית, צור קובץ תצורה בשם schema_convert.conf, או שם תיאורי דומה, המכיל את השורות הבאות:
include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/ schema/duaconf.schema כולל /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema include /etc/ldap/ schema/kerberos.schema
2. צור ספרייה זמנית שתכיל את קבצי ה-LDIF:
mkdir /tmp/ldif_output
3. השתמש כעת ב-slapcat כדי להמיר את קבצי הסכימה:
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s \ "cn={12}kerberos,cn=schema,cn=config" > /tmp/cn=kerberos.ldif
שנה את שמות הקבצים והנתיבים לעיל כך שיתאימו לשלך אם הם שונים.
4. ערוך את שנוצר /tmp/cn\=kerberos.ldif קובץ, שינוי התכונות הבאות:
dn: cn=kerberos,cn=schema,cn=config
...
cn: kerberos
והסר את השורות הבאות מסוף הקובץ:
structuralObjectClass: olcSchemaConfig entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc creatorsName: cn=config
createTimestamp: 20090111203515Z
entryCSN: 20090111203515.326445Z#000000#000#000000
modifiersName: cn=config modifyTimestamp: 20090111203515Z
ערכי המאפיינים ישתנו, רק ודא שהתכונות יוסרו.
5. טען את הסכימה החדשה עם ldapadd:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/cn\=kerberos.ldif
6. הוסף אינדקס עבור krb5principalname תְכוּנָה:
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///
dn: olcDatabase={1}mdb,cn=config הוסף: olcDbIndex
olcDbIndex: krbPrincipalName eq,pres,sub
שינוי הערך "olcDatabase={1}mdb,cn=config"
7. לבסוף, עדכן את רשימות בקרת הגישה (ACL):
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///
dn: olcDatabase={1}mdb,cn=config replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey מאת dn="cn=admin,dc=example,dc=com" כתוב על ידי אישור אנונימי על ידי עצמי כתוב על ידי * אין
-
הוסף: olcAccess
olcAccess: to dn.base="" by * read
-
הוסף: olcAccess
olcAccess: ל* על ידי dn="cn=admin,dc=example,dc=com" לכתוב על ידי * לקרוא
שינוי הערך "olcDatabase={1}mdb,cn=config"
זהו, ספריית ה-LDAP שלך מוכנה כעת לשמש כמסד נתונים ראשי של Kerberos.