ขณะนี้ฉันกำลังทำงานเกี่ยวกับการรวมการตรวจสอบสิทธิ์ LDAP เข้ากับระบบและฉันต้องการ จำกัด การเข้าถึงตามกลุ่ม LDAP วิธีเดียวในการทำเช่นนี้คือผ่านตัวกรองการค้นหาดังนั้นฉันเชื่อว่าตัวเลือกเดียวของฉันคือการใช้แอตทริบิวต์ "memberOf" ในตัวกรองการค้นหาของฉัน เป็นความเข้าใจของฉันว่าแอตทริบิวต์ "memberOf" เป็นแอตทริบิวต์การดำเนินงานซึ่งสามารถสร้างโดยเซิร์ฟเวอร์สำหรับฉันทุกครั้งที่มีการสร้างแอตทริบิวต์ "สมาชิก" ใหม่สำหรับรายการ "groupOfNames" ใด ๆ บนเซิร์ฟเวอร์ เป้าหมายหลักของฉันคือสามารถเพิ่มแอตทริบิวต์ "member" ไปยังรายการ "groupOfNames" ที่มีอยู่และมีการเพิ่มแอตทริบิวต์ "memberOf" ที่ตรงกันลงใน DN I ที่ให้ไว้
สิ่งที่ฉันมีเพื่อให้บรรลุ:
ฉันยังใหม่กับการดูแลระบบ LDAP แต่จากสิ่งที่ฉันพบในคำแนะนำของผู้ดูแลระบบ openldap ดูเหมือนว่าReverse Group Membersence Maintence aka "memberof overlay" จะบรรลุผลตามที่ฉันต้องการ
เซิร์ฟเวอร์ของฉันกำลังเรียกใช้การติดตั้งแพคเกจ (slapd บน Ubuntu) ของ openldap 2.4.15 ซึ่งใช้การกำหนดค่าสไตล์รันไทม์ "cn = config" ตัวอย่างส่วนใหญ่ที่ฉันพบยังอ้างอิงถึงวิธี "slapd.conf" แบบเก่าของการกำหนดค่าแบบสแตติกและฉันพยายามอย่างดีที่สุดเพื่อปรับการกำหนดค่าให้เป็นรูปแบบที่ใช้ไดเรกทอรีใหม่
ฉันได้เพิ่มรายการต่อไปนี้เพื่อเปิดใช้งานโมดูซ้อนของ memberof:
เปิดใช้งานโมดูลด้วย olcModuleLoad
cn=config/cn\=module\{0\}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof.la
structuralObjectClass: olcModuleList
entryUUID: a410ce98-3fdf-102e-82cf-59ccb6b4d60d
creatorsName: cn=config
createTimestamp: 20090927183056Z
entryCSN: 20091009174548.503911Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20091009174548Z
เปิดใช้งานการซ้อนทับสำหรับฐานข้อมูลและอนุญาตให้ใช้เป็นการตั้งค่าเริ่มต้น (groupOfNames, member, memberOf, ฯลฯ )
cn=config/olcDatabase={1}hdb/olcOverlay\=\{0\}memberof
dn: olcOverlay={0}memberof
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof
structuralObjectClass: olcMemberOf
entryUUID: 6d599084-490c-102e-80f6-f1a5d50be388
creatorsName: cn=admin,cn=config
createTimestamp: 20091009104412Z
olcMemberOfRefInt: TRUE
entryCSN: 20091009173500.139380Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20091009173500Z
ผลลัพธ์ปัจจุบันของฉัน:
ด้วยการใช้การกำหนดค่าด้านบนฉันสามารถเพิ่ม "groupOfNames" ใหม่ด้วยจำนวนรายการ "สมาชิก" และมี DN ที่เกี่ยวข้องทั้งหมดที่อัปเดตด้วยแอตทริบิวต์ "memberOf" นี่เป็นส่วนหนึ่งของพฤติกรรมที่ฉันคาดหวัง ในขณะที่ฉันเชื่อว่าสิ่งต่อไปนี้ควรจะสำเร็จด้วยการซ้อนทับของสมาชิกฉันยังไม่ทราบวิธีการทำสิ่งต่อไปนี้และฉันยินดีต้อนรับคำแนะนำใด ๆ :
- เพิ่มแอตทริบิวต์ "member" ไปยัง EXISTING "groupOfNames" และมีแอตทริบิวต์ "memberOf" ที่เกี่ยวข้องถูกสร้างขึ้นโดยอัตโนมัติ
- ลบแอตทริบิวต์ "member" และให้แอตทริบิวต์ "memberOf" ที่สอดคล้องกันถูกลบโดยอัตโนมัติ
slapadd
(ไปยังฐานข้อมูลที่หยุดทำงาน) เป็นวิธีที่ถูกต้องหรือไม่