เป็นไปได้หรือไม่ที่จะทำให้ OpenLDAP มี DN พื้นฐานที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกัน
ให้ฉันอธิบายว่าฉันต้องการบรรลุอะไรกันแน่
ฉันมีโดเมน (สมมติว่า dc=ตัวอย่าง,dc=org
).
ฉันยังมีอินสแตนซ์ phpLDAPadmin ซึ่งมีวัตถุประสงค์เพื่อช่วยฉันในการจัดการโดเมนนี้
ฉันมีสาขาที่ไหนสักแห่งในโดเมนนี้ด้วย (สมมติว่า ou=foo,ou=bar,dc=baz,dc=example,dc=org
).
ฉันยังมีผู้ใช้ (สมมติว่า uid=admin,ou=bar,dc=baz,dc=example,dc=org
).
ฉันให้สิทธิ์บางอย่างแก่ผู้ใช้รายนี้เพื่อให้พวกเขาจัดการสาขาที่ฉันกล่าวถึงก่อนหน้านี้ (olcAccess: ถึง dn.subtree="ou=foo,ou=bar,dc=baz,dc=example,dc=org" โดย dn.exact="uid=admin,ou=bar,dc=baz,dc=example, dc=org" จัดการ
).
ปัญหาคือผู้ใช้รายนี้ไม่สามารถใช้ phpLDAPadmin ได้ เนื่องจากเซิร์ฟเวอร์ OpenLDAP เผยแพร่ DN ฐานของตน (โดยการประกาศ บริบทการตั้งชื่อ: dc=example,dc=org
ฉันเดาว่าแอตทริบิวต์) ซึ่งผู้ใช้ไม่สามารถเข้าถึงได้ ดังนั้น phpLDAPadmin จึงพยายามแสดงเนื้อหาให้ผู้ใช้เห็น dc=ตัวอย่าง,dc=org
ล้มเหลวและคร่ำครวญว่า "ฐานนี้ไม่สามารถสร้างด้วย PLA"
วิธีทำให้ phpLDAPadmin แสดง ou=foo,ou=bar,dc=baz,dc=example,dc=org
เป็น DN ฐานสำหรับผู้ใช้รายนี้แทนที่จะพยายามแสดง dc=ตัวอย่าง,dc=org
ที่ไม่สามารถเข้าถึงได้เลย?
มีวิธีทำให้ OpenLDAP ประกาศด้วยไฟล์ บริบทการตั้งชื่อ
(ou=foo,ou=bar,dc=baz,dc=example,dc=org
) ให้กับผู้ใช้?
หรือฉันควรลืมแนวคิดนี้และให้สิทธิ์การเข้าถึงแบบอ่านอย่างเดียวแก่ผู้ใช้ในการลาแต่ละครั้งจากด้านบนสุด (dc=ตัวอย่าง,dc=org
, dc=baz,dc=ตัวอย่าง,dc=org
, ou=bar,dc=baz,dc=example,dc=org
)?
ขอขอบคุณ.