ฉันมีโดเมน (ขอเรียกว่า dc=ตัวอย่าง,dc=org
)
โดเมนมีสาขา (ou=ผู้ใช้,ou=ftp,ou=บริการ,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org
).
มี SimpleSecurityObject
ในโดเมนนี้ (uid=admin,ou=managers,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org
).
ฉันต้องการ uid=ผู้ดูแลระบบ***
ผู้ใช้ให้เต็ม (จัดการ
) การเข้าถึง ou=ผู้ใช้***
สาขา ผมจึงเพิ่มตามนี้ครับ olcAccess
บันทึก:
ถึง
dn.subtree="ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org"
โดย
dn.exact="uid=admin,ou=managers,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org"
ได้เพิ่มชุดกฎเริ่มต้น:
dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}ถึง * โดย dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external
,cn=auth จัดการโดย * ตัวแบ่ง
olcAccess: {1}ถึง attrs=userPassword,shadowLastChange โดยเขียนเองโดย dn="cn=a
dmin,dc=example,dc=org" เขียนโดย anonymous auth โดย * none
olcAccess: {2}ถึง * โดยอ่านเองโดย dn="cn=admin,dc=example,dc=org" เขียนโดย
* ไม่มี
olcAccess: {3}ถึง dn.subtree="ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=
infra,dc=example,dc=org" โดย dn.exact="uid=admin,ou=managers,ou=ftp,ou=servi
ces,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org" จัดการ
แต่ดูเหมือนว่ามีบางอย่างผิดปกติ เมื่อฉันวิ่ง ldapsearch -D uid=admin,ou=managers,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org -W -b ou=users,ou=ftp, ou=บริการ,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org
ฉันได้รับผลลัพธ์ต่อไปนี้:
# LDIF ขยาย
#
#LDAPv3
# ฐาน <ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org> พร้อมแผนผังย่อยของขอบเขต
# ตัวกรอง: (objectclass=*)
# คำขอ: ทั้งหมด
#
# ผลการค้นหา
ค้นหา: 2
ผลลัพธ์: 32 ไม่มีวัตถุดังกล่าว
# numResponses: 1
คำสั่งสิ้นสุดด้วยรหัสทางออก 32
วัตถุที่มีอยู่และ cn=ผู้ดูแลระบบ,dc=ตัวอย่าง,dc=org
สามารถดูได้โดยไม่มีปัญหาใด ๆ ดังนั้นดูเหมือนว่ากฎการเข้าถึงของฉันจะผิด แต่มันคืออะไรกันแน่?
ดูเหมือนว่ากฎเริ่มต้น #2 ({2} ถึง * โดยอ่านเองโดย dn="cn=admin,dc=example,dc=org" เขียนโดย * ไม่มี
) เริ่มทำงานเร็วกว่ากฎที่ฉันเพิ่ม หมายความว่าฉันควร เสมอ เพิ่มกฎที่กำหนดเองของฉันก่อนหรือไม่
แล้วทำไมถึงมีกฏนี้ โดย * ไม่มี
? ไม่ขัดแย้งกับ เอกสาร OpenLDAP?
นโยบายการควบคุมการเข้าถึงเริ่มต้นจะอนุญาตให้ไคลเอนต์ทั้งหมดอ่านได้
ดูเหมือนว่ากฎข้อที่ 2 (ฉันหมายถึงข้อนี้:
ถึง *
โดยอ่านด้วยตนเอง
โดย dn="cn=admin,dc=example,dc=org" เขียน
โดย * ไม่มี
) ไม่ใช่ "ค่าเริ่มต้น" เลย ฉันเพิ่งพบ OpenLDAP อีกอินสแตนซ์ (ฉันปรับใช้เมื่อประมาณ 4 ปีที่แล้ว) อินสแตนซ์นี้ (2.4.40) ไม่มีกฎดังกล่าวเลย ดูเหมือนว่า OpenLDAP จะไม่ได้เพิ่มเข้ามาเอง แต่ถูกเพิ่มด้วยตนเองโดยใครบางคนหรืออย่างอื่น ฉันถูกไหม? OpenLDAP ไม่มีกฎดังกล่าวเป็นค่าเริ่มต้นใช่หรือไม่