LDAP 검색 기반 접미사가 일반적으로 디렉토리 서버의 호스트 이름과 일치한다는 것을 알고 있습니다. 즉, 호스트 이름이 od.foobar.com
인 경우 검색 기준 접미사를 사용해야합니다.dc=od,dc=foorbar,dc=com
왜 내가 이것을하고 있는지 이해하지 못하도록 귀찮게합니다. 누군가 배경을 제공하고 내가하고있는 일을 정확하게 설명 할 수 있습니까?
LDAP 검색 기반 접미사가 일반적으로 디렉토리 서버의 호스트 이름과 일치한다는 것을 알고 있습니다. 즉, 호스트 이름이 od.foobar.com
인 경우 검색 기준 접미사를 사용해야합니다.dc=od,dc=foorbar,dc=com
왜 내가 이것을하고 있는지 이해하지 못하도록 귀찮게합니다. 누군가 배경을 제공하고 내가하고있는 일을 정확하게 설명 할 수 있습니까?
답변:
Microsoft가 LDAP를 '임베딩, 확장 및 변경'하기 전에 대부분의 구현에는 트리의 루트를 나타내는 객체가있었습니다. 즉, 당신은 어딘가에서 시작해야합니다.
Active Directory에서 트리 / 포리스트의 각 도메인은 실제로 두 개의 개별 개체가 아닌 dc = domain, dc = com이라는 이름으로 루팅되었으므로 디렉터리의 가상 루트입니다. 네임 스페이스.
Active Directory에 대한 내용과 상관없이 여전히 일련의 연결된 도메인이므로 각 도메인을 독립 실행 형 엔터티로 취급해야한다는 사실이 그 중 일부라고 생각합니다.
이제 AD 트리 내에 자동 전이 트러스트가 있으므로 최종 사용자에게는 덜 중요하지만 네임 스페이스가 연속적으로 보이지만 실제로는 그렇지 않습니다.
이것은 AD의 일부 명명 규칙에서 더 분명해집니다. 예를 들어 sAMAccountName은 동일한 컨테이너에 있는지 여부에 관계없이 도메인 내에서 고유해야합니다. 즉, 전체 고유 이름은 고유해야하지만 (동일한 컨테이너에 두 개의 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은 도메인 내에서만 고유하게 보장됩니다. AD 트리에 여러 도메인이있는 경우 도메인간에 고유성이 보장되지 않습니다.
다른 사람들은 왜 도메인 이름을 사용하는 것이 좋은 아이디어인지 설명했지만 필수 는 아닙니다 . 나는 단지 질문이 잘못되었다는 것을 덧붙였다 : 기계의 이름을 기반으로 한 기본 접미사를 갖는 것은 전혀 권장 되지 않는다 (명백한 이유 : 당신 gandalf.example.com
이 sarouman.example.com
?로 대체한다면 ?). 일반적으로 위임 된 도메인 이름 만 사용하므로가있는 경우을 example.com
사용 dc=example,dc=com
합니다.