serviceSearchDescriptor 속성은 LDAP 이름 지정 서비스 클라이언트가 특정 서비스에 대한 정보를 검색하는 방법과 위치를 정의합니다. serviceSearchDescriptor에는 서비스 이름과 세미콜론으로 구분된 기본-범위-필터로 구성된 세 쌍 하나 이상이 차례로 포함됩니다. 기본-범위-필터로 구성된 이러한 세 쌍은 특정 서비스에 대한 검색을 정의하는 데에만 사용되며 순서대로 검색됩니다. 특정 서비스에 대해 기본-범위-필터를 여러 개 지정하면 서비스가 특정 항목을 찾을 때 지정된 범위와 필터를 사용하여 각 기본에서 검색을 수행합니다.
다음 예에서 LDAP 이름 지정 서비스 클라이언트는 passwd 서비스에 대해 ou=west,dc=example,dc=com에서 단일 레벨 검색을 수행한 후 ou=east,dc=example,dc=com에서 단일 레벨 검색을 수행합니다. 사용자 username의 passwd 데이터를 조회하기 위해 각 BaseDN에 대해 기본 LDAP 필터 (&(objectClass=posixAccount)(uid=username))이 사용됩니다.
serviceSearchDescriptor: passwd:ou=west,dc=example,dc=com;ou=east, dc=example,dc=com
다음 예에서 LDAP 이름 지정 서비스 클라이언트는 passwd 서비스에 대해 ou=west,dc=example,dc=com에서 하위 트리 검색을 수행합니다. 사용자 username의 passwd 데이터를 조회하기 위해 LDAP 필터 (&(fulltimeEmployee=TRUE)(uid=username))을 사용하여 하위 트리 ou=west,dc=example,dc=com을 검색합니다.
serviceSearchDescriptor: passwd:ou=west,dc=example, dc=com?sub?fulltimeEmployee=TRUE
여러 컨테이너를 특정 서비스 유형과 연관시킬 수도 있습니다. 다음 예에서 서비스 검색 설명자는 컨테이너 3개에서 암호 항목을 검색하도록 지정합니다.
|
예에서 후행 ','는 defaultSearchBase가 SSD의 상대 기본에 추가되었음을 의미합니다.
defaultSearchBase: dc=example,dc=com serviceSearchDescriptor: \ passwd:ou=myuser,;ou=newuser,;ou=extuser,dc=example,dc=com
LDAP 이름 지정 서비스를 사용하면 모든 서비스에 대해 하나 이상의 속성 이름을 다시 매핑할 수 있습니다. 속성을 매핑하는 경우 속성이 원래 속성과 동일한 의미와 구문을 갖도록 해야 합니다. userPassword 속성을 매핑하면 문제가 발생할 수도 있습니다.
기존 디렉토리 서버의 속성을 매핑하려는 경우 스키마 매핑을 사용하는 것이 유용할 수 있습니다. 대소문자만 다른 사용자 이름이 있는 경우 대소문자를 무시하는 uid 속성을 대소문자를 무시하지 않는 속성에 매핑해야 합니다.
이 속성의 형식은 service:attribute-name=mapped-attribute-name입니다.
특정 서비스에 대해 속성을 2개 이상 매핑하려는 경우 다중 attributeMap 속성을 정의합니다.
다음 예에서 employeeName 및 home 속성은 uid 및 homeDirectory 속성이 passwd 서비스에 사용될 때마다 사용됩니다.
attributeMap: passwd:uid=employeeName attributeMap: passwd:homeDirectory=home
다음 예와 같이 passwd 서비스의 gecos 속성을 여러 속성에 매핑할 수 있습니다.
attributeMap: gecos=cn sn title
이 예에서는 gecos 값이 공백으로 구분된 cn, sn 및 title 속성 값 목록에 매핑됩니다.
LDAP 이름 지정 서비스를 사용하면 모든 서비스에 대해 객체 클래스를 다시 매핑할 수 있습니다. 특정 서비스에 대해 객체 클래스를 2개 이상 매핑하려는 경우 다중 objectclassMap 속성을 정의합니다. 다음 예에서 myUnixAccount 객체 클래스는 posixAccount 객체 클래스가 사용될 때마다 사용됩니다.
objectclassMap: passwd:posixAccount=myUnixAccount