ฉันจะขอคำอธิบายเกี่ยวกับไวยากรณ์ของส่วนต่อท้ายฐานการค้นหา LDAP ได้หรือไม่


11

ฉันรู้ว่าคำต่อท้ายฐานการค้นหา LDAP โดยทั่วไปตรงกับชื่อโฮสต์ของเซิร์ฟเวอร์ไดเรกทอรี กล่าวอีกนัยหนึ่งฉันรู้ว่าชื่อโฮสต์od.foobar.comฉันควรใช้คำต่อท้ายฐานการค้นหา:dc=od,dc=foorbar,dc=com

มันทำให้ฉันไม่เข้าใจว่าทำไมฉันถึงทำอย่างนี้ มีใครให้ข้อมูลพื้นฐานและอธิบายสิ่งที่ฉันทำ


3
ฉันไม่เห็นด้วยอย่างยิ่งกับคำว่า "โดยทั่วไป" ไซต์ LDAP ส่วนใหญ่ใช้ชื่อโดเมนที่มอบสิทธิ์ (ที่นี่ foobar.com) ไม่ใช่ชื่อโฮสต์ของเซิร์ฟเวอร์
bortzmeyer

คำตอบ:


7

ก่อนที่ Microsoft จะ 'ขยายและเปลี่ยน' LDAP การปรับใช้ส่วนใหญ่มีวัตถุเพื่อแสดงถึงรากของทรี นั่นคือคุณต้องเริ่มต้นจากที่ไหนสักแห่ง

สำหรับเหตุผลที่ฉันยังไม่ชัดเจนใน Active Directory แต่ละโดเมนในต้นไม้ / ฟอเรสต์จะถูกรูทด้วยชื่อที่ dc = domain, dc = com ที่ไม่ได้แยกสองวัตถุจริงๆ แต่มันเป็นรูทเสมือนของไดเรกทอรี พื้นที่ชื่อ

ฉันคิดว่าบางอย่างมาจากความจริงที่ว่าไม่ว่าสิ่งที่พูดเกี่ยวกับ Active Directory จะยังคงเป็นชุดของโดเมนที่เชื่อมโยงและแต่ละโดเมนจะต้องถือว่าเป็นนิติบุคคลแบบสแตนด์อโลน

ขณะนี้มีทรานแซคชันที่ไว้ใจได้โดยอัตโนมัติภายในแผนผังโฆษณาดังนั้นมันทำให้ผู้ใช้ปลายทางมีความสำคัญน้อยลง แต่แม้ว่าเนมสเปซจะดูเหมือนอยู่ติดกัน แต่ก็ไม่ใช่อย่างนั้นจริงๆ

สิ่งนี้จะปรากฏชัดเจนยิ่งขึ้นด้วยกฎการตั้งชื่อบางส่วนที่มีโฆษณา ตัวอย่างเช่น sAMAccountName ต้องไม่ซ้ำกันภายในโดเมนโดยไม่คำนึงว่าอยู่ในคอนเทนเนอร์เดียวกันหรือไม่ Ie ชื่อจำเพาะแบบเต็มจะต้องไม่ซ้ำกัน (คุณไม่สามารถมีผู้ใช้ John Smith สองคนในที่เก็บเดียวกัน) แต่ชื่อย่อที่ใช้สำหรับหลายสิ่งภายใน (sAMAccountName) จะต้องไม่ซ้ำกันภายในโดเมนทั้งหมด

บริการไดเรกทอรีอื่น ๆ อาจมีข้อกำหนดที่คล้ายกันเช่น uniqueID ควรไม่ซ้ำกันจริง ๆ ในไดเรกทอรีทั้งหมด แต่นั่นเป็นเพราะแอปพลิเคชันมักทำให้สมมติฐานนั้นเป็นจริงเนื่องจากตัวเขียนแอปพลิเคชันขี้เกียจเกินไปที่จะจัดการกับปัญหาที่ซับซ้อน มันเป็นปัญหาที่ยาก) การจัดการผู้ใช้สองคนด้วยชื่อสั้น ๆ ของ jsmith ที่พยายามใช้บริการ แต่มีอยู่ในสองตู้คอนเทนเนอร์ที่แตกต่างกัน (เช่นบางที cn = jsmith, ou = London, dc = acme, dc = com และ cn = jsmith, ou = Texas, dc = acme, dc = com)

แอปพลิเคชันของคุณที่ใช้ไดเรกทอรีนี้ควรตัดสินใจว่าจะใช้ผู้ใช้รายใด คำตอบปกติคือให้ผู้ใช้ตัดสินใจ แต่นั่นหมายถึงการจับกรณีนี้การนำเสนอ UI ให้กับผู้ใช้เลือกและอะไร

ผู้เขียนแอปพลิเคชันส่วนใหญ่ไม่สนใจความเป็นไปได้นั้นและเพียงใช้ uniqueID หรือ sAMAccountName เพราะมันไม่เหมือนใคร (เรียงลำดับ) และทำง่าย

ความแตกต่างระหว่าง uniqueID และ sAMAccountName น่าจะเป็น uniqueID ที่ควรจะไม่ซ้ำกันทั่วทั้งพื้นที่ชื่อไดเรกทอรี ในขณะที่ sAMAccountName รับประกันเฉพาะในโดเมนเท่านั้น ถ้าต้นไม้โฆษณามีหลายโดเมนไม่มีการรับประกันว่ามีเอกลักษณ์ระหว่างโดเมน


ฉันไม่แน่ใจว่าสิ่งนี้จะตอบคำถามได้หรือไม่ อาจเป็นเพราะคำถามไม่ได้พูดออกมาดีหรือหัวฉันปั่นมากเกินไป
ThatGraemeGuy

1
ฉันคิดว่าเหตุใดจึงค่อนข้างโดยพลการ คุณต้องเริ่มต้นที่ไหนสักแห่งและ X.500 ซึ่ง LDAP ยึดตามว่าคุณต้องมีรูทกับทรีของคุณ (หรือว่าจะล้มลง?) คำถามคือทำไมเริ่มต้นที่ไหน? ทำไมเริ่มที่นี่โดยเฉพาะ
geoffc

8

คนอื่น ๆ ได้อธิบายว่าทำไมการใช้ชื่อโดเมนเป็นความคิดที่ดี (แต่ไม่บังคับ) ฉันเพิ่งเพิ่มคำถามที่ผิด: มีคำต่อท้ายฐานตามชื่อของเครื่องไม่แนะนำเลย (ด้วยเหตุผลที่ชัดเจน: ถ้าคุณแทนที่gandalf.example.comด้วยsarouman.example.com?) คุณมักจะใช้ชื่อโดเมนที่ได้รับการแต่งตั้งดังนั้นถ้าคุณมีคุณใช้example.comdc=example,dc=com


+1 ดีมาก พลาดไปอย่างสิ้นเชิงหนึ่ง: D
ผู้บัญชาการ Keen

7

ต้องตั้งค่ารูทของไดเรกทอรีเป็นบางอย่าง มันสามารถตั้งค่าเป็นสิ่งที่คุณต้องการ การตั้งค่าให้เป็นชื่อโดเมนนั้นเป็นเพียงหลักการที่มีประโยชน์ที่จะทำให้แน่ใจว่าพื้นที่ชื่อไดเรกทอรีของคุณไม่ซ้ำกัน


3

ฉบับย่อ: จับคู่ชื่อโดเมนของคุณเพื่อรับประกันว่าเส้นทางหลักนั้นไม่ซ้ำกัน

ทำและคุณจะไม่ดูเหมือนผู้ดูแลระบบ newb หาก บริษัท ของคุณรวมเข้ากับ บริษัท อื่นและคุณต้องรวมระบบ :)

ตกลงนั่นเป็นรุ่นสั้นมาก =)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.