<ก่อนหน้านี้ | Contents | ถัดไป>
1.4. การปรับเปลี่ยนฐานข้อมูลการกำหนดค่า slapd
slapd-config DIT สามารถสอบถามและแก้ไขได้ นี่คือตัวอย่างบางส่วน
• ใช้ ldapmodify เพื่อเพิ่ม "ดัชนี" (แอตทริบิวต์ DbIndex) ให้กับ {1}mdb,cn=config ฐานข้อมูลของคุณ (dc=example,dc=com) สร้างไฟล์เรียกมันว่า uid_index.ldifมีเนื้อหาดังต่อไปนี้:
dn: olcDatabase={1}mdb,cn=config เพิ่ม: olcDbIndex
olcDbIndex: อีเมล eq,sub
จากนั้นออกคำสั่ง:
sudo ldapmodify -Q -Y ภายนอก -H ldapi:/// -f uid_index.ldif
แก้ไขรายการ "olcDatabase={1}mdb,cn=config"
คุณสามารถยืนยันการเปลี่ยนแปลงด้วยวิธีนี้:
sudo ldapsearch -Q -LLL -Y ภายนอก -H ldapi:/// -b \ cn=config '(olcDatabase={1}mdb)' olcDbIndex
dn: olcDatabase={1}mdb,cn=config olcDbIndex: objectClass eq olcDbIndex: cn,uid eq
olcDbIndex: uidNumber,gidNumber eq olcDbIndex: สมาชิก,memberUid eq olcDbIndex: อีเมล eq,sub
• มาเพิ่มสคีมากันเถอะ จะต้องแปลงเป็นรูปแบบ LDIF ก่อน คุณสามารถค้นหาสคีมาที่ยังไม่ได้แปลงนอกเหนือจากที่แปลงแล้วใน /etc/ldap/สคีมา ไดเรกทอรี
• การลบสคีมาออกจากฐานข้อมูล slapd-config ไม่ใช่เรื่องแปลก ฝึกการเพิ่มสคีมาในระบบทดสอบ
• ก่อนเพิ่มสคีมาใด ๆ คุณควรตรวจสอบว่าสคีมาใดได้รับการติดตั้งแล้ว (แสดงเป็นค่าเริ่มต้น เอาต์พุตที่พร้อมใช้งานทันที):
sudo ldapsearch -Q -LLL -Y ภายนอก -H ldapi:/// -b \ cn=schema,cn=config dn
dn: cn=สคีมา,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}โคไซน์,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
ในตัวอย่างต่อไปนี้ เราจะเพิ่ม CORBA schema
1. สร้างไฟล์การกำหนดค่าการแปลง schema_convert.conf ประกอบด้วยบรรทัดต่อไปนี้:
รวม /etc/ldap/schema/core.schema รวม /etc/ldap/schema/collective.schema รวม /etc/ldap/schema/corba.schema รวม /etc/ldap/schema/cosine.schema รวม /etc/ldap/ schema/duaconf.schema รวม /etc/ldap/schema/dyngroup.schema
รวม /etc/ldap/schema/inetorgperson.schema รวม /etc/ldap/schema/java.schema
รวม /etc/ldap/schema/misc.schema รวม /etc/ldap/schema/nis.schema รวม /etc/ldap/schema/openldap.schema รวม /etc/ldap/schema/ppolicy.schema รวม /etc/ldap/ schema/ldapns.schema รวม /etc/ldap/schema/pmi.schema
2. สร้างไดเร็กทอรีเอาต์พุต ldif_output.
3. กำหนดดัชนีของสคีมา:
lapcat -f schema_convert.conf -F ldif_output -n 0 | grep corba,cn=สคีมา
cn={2}corba,cn=schema,cn=config
เมื่อ slapd นำเข้าวัตถุที่มี DN parent เดียวกัน จะสร้าง an ดัชนี สำหรับวัตถุนั้น ดัชนีอยู่ภายในวงเล็บปีกกา: {X}
4. ใช้ slapcat เพื่อทำการแปลง:
lapcat -f schema_convert.conf -F ldif_output -n0 -H \ ldap:///cn={2}corba,cn=schema,cn=config -l cn=corba.ldif
สคีมาที่แปลงแล้วอยู่ใน cn=corba.ldif
5 แก้ไข cn=corba.ldif เพื่อให้ได้คุณสมบัติดังต่อไปนี้:
dn: cn=corba,cn=สคีมา,cn=config
...
cn: คอร์บา
ลบบรรทัดต่อไปนี้ออกจากด้านล่างด้วย:
structuralObjectClass: olcSchemaConfig entryUUID: 52109a02-66ab-1030-8be2-bbf166230478
ผู้สร้างชื่อ: cn=config createTimestamp: 20110829165435Z
รายการCSN: 20110829165435.935248Z#000000#000#000000
ตัวดัดแปลงชื่อ: cn=config modifiedTimestamp: 20110829165435Z
ค่าแอตทริบิวต์ของคุณจะแตกต่างกันไป
6. สุดท้าย ใช้ ldapadd เพื่อเพิ่มสคีมาใหม่ให้กับ slapd-config DIT:
sudo ldapadd -Q -Y ภายนอก -H ldapi:/// -f cn\=corba.ldif
เพิ่มรายการใหม่ "cn=corba,cn=schema,cn=config"
7. ยืนยันสคีมาที่โหลดอยู่ในปัจจุบัน:
sudo ldapsearch -Q -LLL -Y ภายนอก -H ldapi:/// -b cn=schema,cn=config dn
dn: cn=สคีมา,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}โคไซน์,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
dn: cn={4}corba,cn=schema,cn=config
เพื่อให้แอปพลิเคชันและไคลเอ็นต์ภายนอกตรวจสอบสิทธิ์โดยใช้ LDAP แต่ละรายการจะต้องได้รับการกำหนดค่าเฉพาะเพื่อดำเนินการดังกล่าว โปรดดูรายละเอียดในเอกสารฝั่งไคลเอ็นต์ที่เหมาะสม