항목 검색 및 검색 튜닝

Red Hat Directory Server 12

디렉터리 항목 찾기 및 검색 성능 개선

Red Hat Customer Content Services

초록

웹 콘솔, 명령줄을 사용하고 LDAP 검색 유틸리티를 사용하여 디렉터리 항목을 검색할 수 있습니다. 검색 성능은 리소스 제한을 사용하여 개선할 수 있으며 사용자 수준 및 익명 바인딩에서 전역적으로 리소스 제한을 설정할 수 있습니다.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견을 보내 주십시오. Red Hat이 어떻게 이를 개선할 수 있는지 알려 주십시오. 이렇게 하려면 다음을 수행합니다.

  • Jira (계정 필요)를 통해 피드백을 제출하려면 다음을 수행합니다.

    1. Jira 웹 사이트에 로그인합니다.
    2. 상단 탐색 모음에서 생성 을 클릭합니다.
    3. 요약 필드에 설명 제목을 입력합니다.
    4. 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
    5. 대화 상자 하단에서 생성 을 클릭합니다.
  • Bugzilla (계정 필요)를 통해 피드백을 제출하려면 다음을 수행합니다.

    1. Bugzilla 웹 사이트로 이동하십시오.
    2. 구성 요소로 문서를 사용합니다.
    3. 설명 필드에 문서 개선을 위한 제안 사항을 기입하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
    4. 버그 제출을 클릭합니다.

1장. 명령줄을 사용하여 항목 찾기(ldapsearch)

ldapsearch 명령줄 유틸리티를 사용하여 디렉터리 항목을 검색할 수 있습니다. 이 유틸리티는 지정된 ID 및 자격 증명을 사용하여 지정된 서버에 대한 연결을 열고 지정된 검색 필터를 기반으로 항목을 찾습니다. 검색 범위는 다음과 같습니다.

  • 단일 항목(-s base)
  • 항목 직위 하위 항목 (-1)
  • 전체 트리 또는 하위 트리(-s 하위)
참고

ldapsearch 유틸리티는 고유 이름의 속성을 기반으로 디렉터리 항목을 검색하지 않습니다. 고유 이름은 디렉터리 항목의 고유 식별자일 뿐이며 검색 키로 사용할 수 없습니다. 대신 ldapsearch 는 항목에 저장된 속성 값 쌍을 기반으로 항목을 검색합니다. 항목의 고유 이름이 (예 : uid=bjensen,ou=People,dc=example,dc=com )인 경우 dc=example 에 대한 검색이 이 항목에 명시적으로 추가되지 않는 한 해당 항목과 일치하지 않습니다.

ldapsearch 유틸리티는 RFC 2849 사양에 정의된 LDIF 형식의 결과를 반환합니다.

1.1. ldapsearch 명령 형식

ldapsearch 명령은 다음 형식을 사용해야 합니다.

# ldapsearch [-x | -Y mechanism] [options] [search_filter] [list_of_attributes]
  • -x 또는 -Y

    -x (간단한 바인딩) 또는 -Y (SASL 메커니즘)를 사용하여 연결 유형을 구성합니다.

  • options

    ldapsearch 명령줄 옵션입니다. 검색 필터 앞에 옵션을 지정합니다(있는 경우).

  • search_filter

    LDAP 검색 필터입니다. -f 옵션을 사용하여 파일에서 검색 필터를 구성하는 경우 검색 필터를 지정하지 마십시오.

  • list_of_attributes

    공백 문자로 구분된 특성 목록입니다. 특성 목록을 지정하면 검색 결과에서 반환된 속성 수를 줄일 수 있습니다. 이 속성 목록은 검색 필터 뒤에 표시되어야 합니다. 속성 목록을 지정하지 않으면 작동 특성을 제외하고 디렉터리에 설정된 액세스 제어에서 허용하는 모든 속성에 대한 검색에서 값을 반환합니다.

    검색에서 작동 속성을 반환하려면 ldapsearch search 명령에 명시적으로 지정해야 합니다. 오브젝트의 모든 운영 속성을 반환하려면 + 를 사용합니다. 명시적으로 지정된 운영 속성 외에도 일반 속성을 검색하려면 속성 목록에서 별표(*)를 사용합니다.

    별표 문자는 백슬래시(\*)로 이스케이프해야 할 수 있습니다.

    일치하는 DN 목록만 검색하려면 특성 1.1 을 사용합니다. 예를 들면 다음과 같습니다.

    # ldapsearch -D "cn=Directory Manager" -W -p 389 -h server.example.com \
        -b "dc=example,dc=com" -x "(objectclass=inetorgperson)" 1.1

1.2. 일반적으로 사용되는 ldapsearch 옵션

다음 표에는 가장 일반적으로 사용되는 ldapsearch 유틸리티 옵션이 나열되어 있습니다. 지정된 값에 공백 문자가 포함된 경우 값은 다음과 같이 단일 또는 이중 따옴표로 묶어야 합니다.

-b "cn=My Special Group,ou=groups,dc=example,dc=com"

중요

OpenLDAP의 ldapsearch 유틸리티는 기본적으로 SASL 연결을 사용합니다. 간단한 바인딩을 수행하거나 TLS를 사용하려면 -x 인수를 사용하여 SASL을 비활성화하고 다른 연결 방법을 허용합니다.

옵션설명

-b

검색의 시작점 - base Distinguished Name (DN)을 지정합니다. 데이터베이스에 고유 이름이 있어야 합니다. LDAP_BASEDN 환경 변수를 기본 DN으로 설정하는 경우 이 옵션을 사용할 필요가 없습니다.
값에 공백 문자가 포함된 경우 단일 또는 이중 따옴표로 옵션 값을 지정해야 합니다. 예:
-b "cn=user,ou=Product Development,dc=example,dc=com".
루트 DSE 항목을 검색하려면 여기에 -b "" 와 같은 빈 문자열을 지정합니다.

-D

서버에 인증하는 데 사용되는 DN을 지정합니다. 디렉터리 서버는 DN 값을 인식해야 하며 DN에는 항목을 검색할 권한이 있어야 합니다. 예:
-D "uid=user_name,dc=example,dc=com".
서버가 익명 액세스를 지원하는 경우 이 옵션을 지정하지 마십시오.

-H

서버에 연결할 LDAP URL을 지정합니다. LDAP URL의 형식은 다음과 같습니다.

ldap[s]://hostname:[port]

포트 값을 지정하는 것은 선택 사항입니다. 그러면 ldapsearch 유틸리티에서 기본 LDAP 포트 389 또는 LDAPS 포트 636을 사용합니다.

유틸리티는 슬래시(/) 대신 HTML 16진수 코드 %2F로 구분된 각 요소와 함께 LDAPI URL을 사용할 수도 있습니다. 예를 들면 다음과 같습니다.

ldapi://%2Ffull%2Fpath%2Fto%2Fslapd-example.socket

LDAPI의 경우 서버가 수신 대기 중인 LDAPI 소켓을 나타내는 파일의 전체 경로를 지정합니다. URL을 지정하지 않은 경우 ldapsearch 는 localhost 또는 /etc/openldap/ldap.conf 파일에 지정된 설정을 사용합니다.

-h

Directory Server가 설치된 시스템의 호스트 이름 또는 IP 주소를 지정합니다. 예: -h server.example.com. 호스트를 지정하지 않은 경우 ldapsearch 는 localhost를 사용합니다. Directory Server는 IPv4 및 IPv6 주소를 모두 지원합니다.

참고

h 옵션은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다. 대신 -H 옵션을 사용합니다.

-p

Directory Server에서 사용하는 TCP 포트 번호를 지정합니다. 예를 들면 -p 1049 입니다. 기본 포트 번호는 389 입니다.

참고

-p 옵션은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

-l

검색 요청이 완료될 때까지 최대 시간 제한(초)을 지정합니다. 예를 들면 -l 300 입니다. ldapsearch 유틸리티가 이 두 값을 비교하고 가장 작은 값을 사용하므로 시간 제한이 nsslapd-timelimit 속성에 지정된 값을 초과하지 않아야 합니다. 기본 nsslapd-timelimit 속성 값은 3600 초입니다.

-s 범위

검색 범위를 지정합니다. 다음 범위 중 하나를 선택할 수 있습니다.

  • 하위
    -b 옵션에 지정된 항목과 모든 하위 항목을 통해 검색합니다. 기본 설정입니다.
  • 하나의
    -b 옵션에 지정된 항목의 바로 자식을 통해 검색합니다. ldapsearch 유틸리티는 기본 DN이 아닌 하위만 고려합니다.
  • 기본
    -b 옵션에 지정되거나 LDAP_BASEDN 환경 변수로 정의된 항목을 통해서만 검색합니다.

-W

암호를 입력하라는 메시지가 표시됩니다. 옵션을 지정하지 않은 경우 ldapsearch 유틸리티에서 익명 액세스를 사용합니다. 또는 -w 옵션을 사용하여 암호를 유틸리티에 전달합니다.

참고

암호는 다른 사용자의 프로세스 목록에 표시될 수 있으며 쉘의 기록에 저장됩니다.

-x

간단한 바인딩을 허용하도록 기본 SASL 연결을 비활성화합니다.

-Y SASL_mechanism

인증에 사용할 SASL 메커니즘을 설정합니다. 메커니즘을 설정하지 않으면 ldapsearch 는 서버에서 지원하는 최상의 메커니즘을 선택합니다. -x 옵션을 사용하지 않는 경우 대신 -Y 옵션을 지정해야 합니다.

-z number

검색 요청에 대한 응답으로 반환할 최대 항목 수를 설정합니다. 이 값은 루트 DN을 사용하여 바인딩할 때 nsslapd-sizelimit 속성을 덮어씁니다.

-f

검색 필터가 포함된 파일을 지정합니다.

1.3. 특수 문자 사용

ldapsearch 유틸리티를 사용하는 경우 명령줄 인터프리터(예: 공백 문자, 별표(*)) 또는 백슬래시(\)와 같은 특수한 의미가 있는 문자로 값을 지정해야 할 수 있습니다. 명령줄 인터프리터에 따라 특수 문자가 있는 값을 single(' ') 또는 double(" "" ) 따옴표로 묶습니다. 예를 들면 다음과 같습니다.

-D "cn=John Smith,ou=Product Development,dc=example,dc=com"

일반적으로 작은 따옴표(' ')를 사용하여 값을 묶습니다. 쉘 변수가 있는 경우 이중 따옴표(" ")를 사용하여 변수 보간을 허용합니다.

2장. 웹 콘솔을 사용하여 항목 검색

웹 콘솔을 사용하여 디렉터리 항목을 검색할 수 있습니다.

2.1. LDAP browser을 사용하여 항목 검색

웹 콘솔에서 LDAP 10.0.0.1을 사용하여 Directory Server 데이터베이스에서 항목을 검색할 수 있습니다.

Directory Server는 이러한 항목의 고유 이름(DN)에 사용되는 속성을 기반으로 항목에 저장된 속성-값 쌍을 기반으로 항목을 검색합니다. 예를 들어 항목에 uid=user_name,ou=People,dc=example,dc=com 이라는 DN이 있는 경우 dc=example 에 대한 검색이 이 항목에 존재하는 경우에만 항목 과 일치합니다.

사전 요구 사항

  • Directory Server 웹 콘솔에 로그인되어 있습니다.
  • root 권한이 있습니다.

절차

  1. 웹 콘솔에서 LDAPSearch 로 이동합니다.
  2. 항목을 필터링할 검색 기준을 확장하고 선택합니다.

    search 매개변수설명

    Search base

    검색의 시작점을 지정합니다. 데이터베이스에 현재 존재하는 고유 이름(DN)입니다.

    참고

    검색 탭은 사전 정의된 검색 베이스로 열립니다. 트리 보기 또는 테이블 보기에서 항목 세부 정보를 열 때 옵션 메뉴(anchor)를 클릭하고 검색을 선택합니다.

    검색 범위

    Subtree 를 선택하여 검색 기준부터 전체 하위 트리의 항목을 검색하고 모든 하위 항목을 포함합니다.

    검색 기반에서 시작하여 첫 번째 수준만 포함하려면 한 레벨을 선택하여 항목을 검색합니다.

    Base 를 선택하여 검색 기반으로 지정된 항목에서만 속성 값을 검색합니다.

    크기 제한

    검색 작업에서 반환할 최대 항목 수를 설정합니다.

    시간 제한

    검색 엔진이 항목을 찾을 수 있는 시간(초)을 설정합니다.

    잠금 보기

    스위치를 on 으로 전환하여 찾은 항목의 잠금 상태를 확인합니다.

    Search 속성

    검색에 참여할 속성을 선택합니다. 사전 정의된 속성에서 선택하고 사용자 지정 특성을 추가할 수 있습니다.

  3. 검색 텍스트 필드에 속성 값을 입력하고 Enter를 누릅니다.
  4. 선택 사항: 검색을 추가로 세분화하려면 필터 탭에서 검색 필터를 사용하여 항목을 검색합니다.
참고

Directory Server는 로깅+모니터링요청을 기록합니다.

3장. LDAP 검색 필터

검색 필터는 검색 작업에서 반환하는 특정 항목을 선택합니다. ldapsearch 명령줄 유틸리티 또는 Directory Server 웹 콘솔에서 검색 필터를 사용할 수 있습니다.

Directory Server는 이러한 항목의 고유 이름(DN)에 사용되는 속성을 기반으로 하는 속성을 기반으로 항목을 검색합니다. 예를 들어 항목에 DN uid=user_name,ou=People,dc=example,dc=com 가 있는 경우 dc=example 에 대한 검색이 이 항목에 속성-값 쌍 dc:example 이 있는 경우에만 항목과 일치합니다.

ldapsearch 를 사용하는 경우 파일에 별도의 줄에 각 필터를 사용하여 여러 검색 필터를 정의할 수 있습니다. 또는 명령줄에서 직접 검색 필터를 지정할 수도 있습니다.

검색 필터에는 다음과 같은 기본 구문이 있습니다.

(<attribute><operator><value>)

예를 들어 검색 필터 (employeeNumber >= 500)employeeNumber 를 특성으로, >= operator로, 500 을 값으로 갖습니다.

일치하는 규칙이 있는 검색 필터에는 다음과 같은 구문이 있습니다.

(<attribute>:<matching_rule>:=<value>)

예를 들어 검색 필터 ( givenName:caseExactMatch:= Daniel ) 는 특성으로Name을 제공하고, 일치하는 규칙으로 caseExactMatch 를 지정했으며, 값인 것을 나타냅니다.

부울 연산자와 함께 결합된 다양한 속성을 사용하는 필터를 정의할 수 있습니다.

3.1. LDAP 검색 필터에서 속성 사용

기본 검색에서는 항목에 속성 또는 특정 값이 있는지 찾습니다. 검색에서는 여러 가지 방법으로 항목에서 속성을 찾을 수 있습니다.

  • 속성이 존재하는지 확인합니다(이전 검색). 존재 검색에서는 별표(*)를 사용하여 값과 관계없이 특정 속성 세트가 있는 모든 항목을 반환합니다.

    예를 들어 "(manager=*)" 필터는 manager 속성이 있는 모든 항목을 반환합니다.

  • 정확한 특성 값(평등 검색)과 일치합니다. 같음 검색에서는 특정 값이 있는 속성을 찾습니다. 예를 들어 "(cn= example )" 필터는 예제로 설정된 공통 이름(cn)이 포함된 모든 항목을 반환합니다.

    속성에 language 태그와 연결된 값이 있으면 검색에서 모든 값을 반환합니다. 따라서 다음 두 속성 값은 모두 "(cn=example)" 필터와 일치합니다.

    cn: example
    cn;lang-fr: example
  • 목록은 부분 값(하위 문자열 검색)과 일치합니다. 예를 들어 "(sn=*erson)" 검색 필터는 다음 값을 반환합니다.

    sn: Derson
    sn: Anderson

    하위 문자열 검색 길이 구성에 대한 자세한 내용은 하위 문자열 인덱스에서 검색 키 길이 변경을 참조하십시오.

3.2. LDAP 검색 필터에서 연산자 사용

LDAP 검색 필터의 연산자는 속성과 지정된 검색 값 간의 관계를 설정합니다. 사용자를 검색할 때 연산자를 사용하여 범위를 설정하고, 알파벳 또는 직원 번호의 문자 하위 집합 내의 마지막 이름을 특정 번호 뒤에 반환할 수 있습니다.

(employeeNumber>=500)
(sn~=suret)
(salary<=150000)

잘못된 정보를 보유하거나 국제화된 디렉토리에서 검색하는 경우, 전화 전화 및 대략적인 검색을 위해 운영자를 사용하여 검색 작업을 보다 효과적으로 수행할 수 있습니다.

검색 필터에서 다음 연산자를 사용할 수 있습니다.

검색 유형Operator설명

같음

=

값이 지정된 값과 정확히 일치하는 속성을 사용하여 항목을 반환합니다. 예: cn=example.

substring

=string* string

값에 지정된 하위 문자열이 있는 속성이 포함된 항목을 반환합니다. 예: cn=exa*l. 별표 (*)는 0개 이상의 문자를 나타냅니다.

크거나 같음

>=

지정된 값보다 크거나 같은 값이 있는 속성이 포함된 항목을 반환합니다. 예: uidNumber>=5000

작거나 같음

<=

지정된 값보다 작거나 같은 값이 포함된 속성을 포함하는 항목을 반환합니다. 예: uidNumber<=5000

presence

=*

지정된 특성에 대해 하나 이상의 값을 포함하는 항목을 반환합니다. 예: cn=*.

대략

~=

검색 필터에 지정된 값과 거의 같은 값이 있는 지정된 속성이 포함된 항목을 반환합니다. 예를 들어, l~=san fransicol=san francisco 를 반환합니다.

3.3. 복합 LDAP 검색 필터 사용

다음과 같이 접두사 표기법으로 표시된 부울 연산자를 사용하여 여러 LDAP 검색 필터 구성 요소를 결합할 수 있습니다.

(<boolean-operator>(filter)(filter)(filter)...)

다음 부울 연산자를 사용할 수 있습니다.

Operatorsymbol설명

AND

Ampersand (&)

지정된 필터가 true이면 모두 지정된 필터가 true여야 합니다. 예: (&(filter)(filter)…​

또는

수직 표시줄(|)

문을 true로 설정하려면 하나 이상의 지정된 필터가 true여야 합니다. 예: (|(filter)(filter)…​

NOT

느낌표 (!)

지정된 조건이 true이면 안 됩니다.The specified statement must not be true for the statement to be true. NOT 연산자의 영향을 받는 필터는 하나만 있습니다. 예: (!(filter))

검색 작업은 다음 순서로 부울 식을 평가합니다.

  • 먼저 가장 외부적 인 괄호 표현입니다.
  • 그런 다음 서버는 가장 제한적인 표현식을 먼저 평가하도록 순서를 변경합니다.

복합 검색 필터는 다음과 같은 완료된 표현식에 함께 중첩될 때 가장 유용합니다.

(<boolean-operator>(filter)((<boolean-operator>(filter)(filter))))

복합 필터를 다른 유형의 검색(약관, 하위 문자열 및 기타 연산자)과 결합하여 자세한 결과를 얻을 수 있습니다. 다음 예제 필터는 조직 단위(ou)가 마케팅 으로 있고 설명 속성이 하위 문자열 X.500 를 포함하지 않는 모든 항목을 반환합니다.

(&(ou=Marketing)(!(description=*X.500*)))

또한 관리자를 example 또는 demo 로 설정한 항목을 반환하도록 필터를 확장할 수 있습니다.

(&(ou=Marketing)(!(description=*X.500*))(|(manager=cn=example,ou=Marketing,dc=example,dc=com)(manager=cn=demo,ou=Marketing,dc=example,dc=com)))

다음 예제 필터는 사용자를 나타내지 않는 모든 항목을 반환합니다.

(!(objectClass=person))

다음 필터는 사용자를 나타내지 않는 모든 항목을 반환하고 공통 이름(cn)은 printer3b 와 유사합니다.

(&(!(objectClass=person))(cn~=printer3b))

3.4. LDAP 검색 필터에서 일치하는 규칙 사용

일치 규칙은 Directory Server가 속성에 저장된 값을 검색 필터의 값과 비교하는 방법을 지정합니다. 일치하는 규칙은 특성 구문과 관련이 있습니다. 속성 구문이 특성 값의 형식을 정의하는 경우 일치하는 규칙은 해당 형식을 비교하고 인덱싱하는 방법을 정의합니다. 일치하는 규칙은 인덱스 키를 생성하는 방법도 정의합니다.

일치하는 규칙은 OID(오브젝트 식별자)가 있는 스키마 요소입니다. Directory Server의 모든 속성에는 일치하는 규칙이 정의되어 있습니다. 일치하는 규칙 유형에 대한 자세한 내용은 규칙 유형 일치 를 참조하십시오. 검색 필터에 일치하는 규칙을 지정하면 스키마의 속성에 대해 정의된 것과 다른 규칙이 일치하는 규칙을 사용하여 속성 값을 검색할 수 있습니다.

확장 가능한 일치 규칙이 있는 필터에는 다음과 같은 구문이 있습니다.

(<attribute>:<matching_rule>:=<value>)

다음과 같습니다.

  • <attribute >는 검색한 항목에 속하는 속성입니다(예: cn,mail,name ).
  • <matching_rule >는 필수 구문에 따라 일치하는 속성 값에 사용할 규칙의 이름 또는 OID가 포함된 문자열입니다. 예를 들어 caseExactMatch 일치 규칙은 다음과 같습니다.
  • <value >는 특성 값 또는 관계형 연산자와 검색할 속성 값입니다.

일치하는 규칙은 검색한 속성의 구문과 호환되어야 합니다. 대소문자를 구분하지 않는 일치 규칙이 있는 속성에 대해 대소문자를 구분하지 않는 검색을 실행할 수 있습니다. 예를 들어 name 속성에 스키마 정의에 사전 정의된 caseIgnoreMatch 일치 규칙이 있습니다. 필터를 사용한 기본 같음 검색 (name=Daniel)DAniel,daniel,DanIel 과 같은 name 속성 값이 포함된 항목을 검색합니다. 일치하는 규칙 필터 (name:caseExactMatch:= Daniel ) 를 사용하여 name 속성 값을 포함하는 항목을 검색합니다.

Directory Server에 대해 정의된 많은 일치 규칙은 언어 코드와 관련이 있고 국제화된 데이터 정렬 순서를 설정합니다. 예를 들어 OID 2.16.840.1.113730.3.2.17.1 은 핀란드 데이터 정렬 순서를 식별합니다. 지원되는 국제화된 데이터 정렬 주문의 전체 목록은 언어 순서 일치 규칙언어 하위 문자열 일치 규칙을 참조하십시오.

3.4.1. 일치하는 규칙 유형

(employeeNumber>=500) 또는 (sn=*erson)와 같이 지정된 일치 규칙이 없는 검색 필터는 스키마 정의의 속성 구문으로 정의된 일치하는 규칙을 사용합니다. 스키마 정의에서 속성에 대해 다음 유형의 일치 규칙을 정의할 수 있습니다.

같음
EQUALITY 일치 규칙은 두 값을 동일한 일치로 비교하는 방법을 지정합니다. 예를 들어 FredFRED 와 같은 문자열을 처리하는 방법 업데이트 작업에서는 EQUALITY 규칙을 사용하여 인덱스 키를 생성합니다. (name=Fred) 와 같은 필터를 사용하는 검색 작업은 EQUALITY 규칙을 사용하여 필터의 값을 항목의 값과 비교합니다.
순서
한 값이 다른 값보다 크거나 작은지 확인하기 위해 두 값을 비교하는 방법을 지정합니다. 범위를 설정하는 검색 필터 (예: (employeeNumber>=500) 또는 (attribute Cryostatvalue)ING 규칙을 사용합니다. 규칙이 있는 속성의 인덱스 는 같음 값을 정렬합니다.
SUBSTR
SUBSTR 일치 규칙은 하위 문자열 값을 비교하는 방법을 지정합니다. (name=*ed) 하위 문자열 검색 필터를 사용하여 SUBSTR 규칙을 사용합니다. 하위 문자열(하위) 인덱스는 SUBSTR 규칙을 사용하여 인덱스 키를 생성합니다.

같음, 순서 및 하위 문자열 일치 규칙 외에도 검색 필터에서 대략적인 및 기타 확장 가능한 일치 규칙을 지정할 수 있습니다.

중요

디렉터리에는 해당 검색 필터 또는 인덱스 유형에 대한 검색 또는 인덱싱을 지원하기 위해 일치하는 규칙이 필요합니다. 예를 들어 속성에는 해당 속성에 대한 같음 검색 필터 및 eq 인덱스를 지원하기 위해 EQUALITY 일치 규칙이 있어야 합니다. 속성에는 범위 검색 필터와 인덱싱된 범위 검색을 지원하기 위해 속성에 일치하는 규칙과 EQUALITY 일치 규칙이 모두 있어야 합니다.

검색 작업에서 일치하는 규칙이 없는 속성에 대해 검색 필터를 사용하는 경우 Directory Server는 PROTOCOL_ERROR 또는 UNWILLING_TO_PERFORM 을 사용하여 검색 작업을 거부합니다.

규칙 및 사용자 정의 속성 일치

예를 들어 스키마 정의에 caseExactIA5MatchEQUALITY 일치 규칙 및 IA5 String(7-bit ASCII) 구문을 사용하여 사용자 지정 특성 MyFirstName 을 생성하려고 합니다. 필터를 사용한 검색 (MyFirstName= Fred )MyFirstName 값이 Fred 전용인 항목을 반환하지만 Fred ,FREDfred 는 모두 유효한 IA5 문자열 값입니다. 검색에서 특성 값의 모든 변형을 반환하려면 검색 필터에서 일치 규칙 ignoreIA5Match를 사용하거나 일치하는 규칙 ( MyFirstName: caseIgnoreIA5Match:=Fred) 을 명시적으로 지정하도록 MyFirstName 특성을 정의해야 합니다.

3.4.2. 일반적으로 사용되는 일치 규칙

다음은 일반적으로 사용되는 일치 규칙 목록입니다.

일치 규칙설명OID(오브젝트 식별자)호환되는 구문

비트 일치

비트 일치를 수행합니다.

1.2.840.113556.1.4.803

일반적으로 정수 및 숫자 문자열과 함께 사용됩니다. Directory Server는 숫자 문자열을 자동으로 정수로 변환합니다.

비트 단위 또는 일치

비트 단위 또는 일치를 수행합니다.

1.2.840.113556.1.4.804

일반적으로 정수 및 숫자 문자열과 함께 사용됩니다. Directory Server는 숫자 문자열을 자동으로 정수로 변환합니다.

booleanMatch

일치하는 값이 TRUE 인지 또는 Cryostat인지 평가합니다.

2.5.13.13

부울

caseExactIA5Match

값에 대한 대소문자를 구분하지 않습니다.

1.3.6.1.4.1.1466.109.114.1

IA5 Syntax, URI

caseExactMatch

값에 대한 대소문자를 구분하지 않습니다.

2.5.13.5

디렉터리 문자열, 인쇄 가능한 문자열, OID

caseExactOrderingMatch

대소문자를 구분하는 검색을 허용합니다(및 보다 큰 검색).

2.5.13.6

디렉터리 문자열, 인쇄 가능한 문자열, OID

caseExactSubstringsMatch

대소문자를 구분하는 하위 문자열 및 인덱스 검색을 수행합니다.

2.5.13.7

디렉터리 문자열, 인쇄 가능한 문자열, OID

caseIgnoreIA5Match

값의 대소문자를 구분하지 않는 비교를 수행합니다.

1.3.6.1.4.1.1466.109.114.2

IA5 Syntax, URI

caseIgnoreIA5SubstringsMatch

하위 문자열 및 인덱스에서 대소문자를 구분하지 않는 검색을 수행합니다.

1.3.6.1.4.1.1466.109.114.3

IA5 Syntax, URI

caseIgnoreListMatch

값의 대소문자를 구분하지 않는 비교를 수행합니다.

2.5.13.11

우편 주소

caseIgnoreListSubstringsMatch

하위 문자열 및 인덱스에서 대소문자를 구분하지 않는 검색을 수행합니다.

2.5.13.12

우편 주소

caseIgnoreMatch

값의 대소문자를 구분하지 않는 비교를 수행합니다.

2.5.13.2

디렉터리 문자열, 인쇄 가능한 문자열, OID

caseIgnoreOrderingMatch

대소문자를 구분하지 않는 검색(및 보다 큰 검색)을 허용합니다.

2.5.13.3

디렉터리 문자열, 인쇄 가능한 문자열, OID

caseIgnoreSubstringsMatch

하위 문자열 및 인덱스에서 대소문자를 구분하지 않는 검색을 수행합니다.

2.5.13.4

디렉터리 문자열, 인쇄 가능한 문자열, OID

distinguishedNameMatch

고유 이름 값을 비교합니다.

2.5.13.1

고유 이름(DN)

generalizedTimeMatch

일반화된 시간 형식으로 된 값을 비교합니다.

2.5.13.27

일반화된 시간

generalizedTimeOrderingMatch

일반화된 시간 형식의 값에 대해 범위 지정 검색을 허용합니다.

2.5.13.28

일반화된 시간

integerMatch

정수 값을 평가합니다.

2.5.13.14

정수

integerOrderingMatch

정수 값에 대해 범위 검색(및 이하)을 허용합니다.

2.5.13.15

정수

keywordMatch

지정된 검색 값을 특성 값의 문자열과 비교합니다.

2.5.13.33

디렉터리 문자열

numericStringMatch

더 일반적인 숫자 값을 비교합니다.

2.5.13.8

숫자 문자열

numericStringOrderingMatch

더 일반적인 숫자 값에서 범위 검색(이상 이하)을 지원합니다.

2.5.13.9

숫자 문자열

numericStringSubstringMatch

더 일반적인 숫자 값을 비교합니다.

2.5.13.10

숫자 문자열

objectIdentifierMatch

OID(오브젝트 식별자) 값을 비교합니다.

2.5.13.0

OID(오브젝트 식별자)

octetStringMatch

옥텟 문자열 값을 평가합니다.

2.5.13.17

옥텟 문자열

octetStringOrderingMatch

일련의 옥텟 문자열 값에서 범위 검색(이상 이하)을 지원합니다.

2.5.13.18

옥텟 문자열

telephoneNumberMatch

전화 번호 값을 평가합니다.

2.5.13.20

전화 번호

telephoneNumberSubstringsMatch

전화 번호 값에 대해 하위 문자열 및 인덱스 검색을 수행합니다.

2.5.13.21

전화 번호

uniqueMemberMatch

Name 및 Optional UID 구문의 어설션 값을 구문의 특성 값과 비교

2.5.13.23

이름 및 선택적 UID

wordMatch

지정된 검색 값을 특성 값의 문자열과 비교합니다. 이 일치 규칙은 대소문자를 구분하지 않습니다.

2.5.13.32

디렉터리 문자열

3.4.3. 언어 순서 일치 규칙

국제 검색의 경우 다음과 같은 언어 순서 일치 규칙을 사용할 수 있습니다.

일치 규칙OID(오브젝트 식별자)

영어 (Case Exact Ordering Match)

2.16.840.1.113730.3.3.2.11.3

Albanian (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.44.1

대도시 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.1.1

Belorussian (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.2.1

Bulgarian (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.3.1

Catalan (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.4.1

중국어 - Simplified (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.49.1

중국어 - 번식 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.50.1

크로아티아 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.22.1

체코 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.5.1

덴마크 (Case 중요하지 않은 주문 일치)

2.16.840.1.113730.3.3.2.6.1

네덜란드 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.33.1

네덜란드 - Belgian (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.34.1

영어 - 미국 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.11.1

영어 - 캐나다 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.12.1

영어 - Irish (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.14.1

에스토니아 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.16.1

핀란드어 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.17.1

프랑스어(Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.18.1

French - Belgian (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.19.1

프랑스어 - 캐나다 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.20.1

프랑스어 - 스위스 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.21.1

독일어 (Case 무민한 주문 일치)

2.16.840.1.113730.3.3.2.7.1

독일어 - 오스트리아 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.8.1

독일어 - 스위스 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.9.1

그리스어 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.10.1

히브리어 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.27.1

헝가리어 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.23.1

아이슬란드 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.24.1

이탈리아어 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.25.1

이탈리아어 - 스위스 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.26.1

일본어 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.28.1

한국어 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.29.1

Latvian, Lettish (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.31.1

리투아니아 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.30.1

Macedonian (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.32.1

Norwegian (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.35.1

Norwegian - Bokmul (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.36.1

Norwegian - Nynorsk (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.37.1

폴란드 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.38.1

루마니아어 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.39.1

러시아어 (Case 무민한 주문 일치)

2.16.840.1.113730.3.3.2.40.1

Serbian - Cyrillic (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.45.1

세르비아 - 라틴어 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.41.1

Slovak (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.42.1

슬로베니아 (Case Insensitive Ordering Match)

2.16.840.1.113730.3.3.2.43.1

스페인어 (Case 중요하지 않은 주문 일치)

2.16.840.1.113730.3.3.2.15.1

스웨덴 (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.46.1

터키어(Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.47.1

Ukrainian (Case insensitive Ordering Match)

2.16.840.1.113730.3.3.2.48.1

3.4.4. 언어 하위 문자열 일치 규칙

국제 검색의 경우 다음과 같은 언어 하위 문자열 일치 규칙을 사용할 수 있습니다.

일치 규칙OID(오브젝트 식별자)

영어 (Case Exact Substring 일치)

2.16.840.1.113730.3.3.2.11.3.6

Albanian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.44.1.6

대도시 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.1.1.6

Belorussian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.2.1.6

Bulgarian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.3.1.6

Catalan (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.4.1.6

중국어 - Simplified (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.49.1.6

중국어 - 번식 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.50.1.6

Croatian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.22.1.6

체코 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.5.1.6

Danish (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.6.1.6

네덜란드 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.33.1.6

네덜란드 - Belgian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.34.1.6

영어 - 미국 (Case Insensitive Substring 일치)

2.16.840.1.113730.3.3.2.11.1.6

영어 - 캐나다 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.12.1.6

English - Irish (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.14.1.6

Estonian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.16.1.6

핀란드어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.17.1.6

프랑스어(Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.18.1.6

French - Belgian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.19.1.6

프랑스어 - 캐나다 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.20.1.6

프랑스어 - 스위스 (Case Insensitive Substring 일치)

2.16.840.1.113730.3.3.2.21.1.6

독일어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.7.1.6

독일어 - 오스트리아n (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.8.1.6

독일어 - 스위스 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.9.1.6

그리스어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.10.1.6

히브리어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.27.1.6

헝가리어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.23.1.6

아이슬란드 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.24.1.6

이탈리아어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.25.1.6

이탈리아어 - 스위스 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.26.1.6

일본어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.28.1.6

한국어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.29.1.6

Latvian, Lettish (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.31.1.6

리투아니아 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.30.1.6

Macedonian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.32.1.6

Norwegian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.35.1.6

Norwegian - Bokmul (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.36.1.6

Norwegian - Nynorsk (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.37.1.6

폴란드 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.38.1.6

Romanian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.39.1.6

러시아어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.40.1.6

Serbian - Cyrillic (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.45.1.6

세르비아 - 라틴어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.41.1.6

Slovak (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.42.1.6

슬로베니아 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.43.1.6

스페인어 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.15.1.6

스웨덴 (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.46.1.6

터키어(Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.47.1.6

Ukrainian (Case Insensitive Substring Match)

2.16.840.1.113730.3.3.2.48.1.6

3.4.5. inchainMatch 일치 규칙을 사용하여 중첩된 그룹에서 LDAP 항목의 멤버십 찾기

inchainMatch 일치 규칙은 중첩된 그룹에서 LDAP 항목의 멤버십을 찾는 검색 필터에 대해 확장 가능한 일치 항목입니다. Directory Server는 OID(오브젝트 식별자) 1.2.840.113556.1.4.1941chainMatch에서 사람이 읽을 수 있는 이름을 모두 지원합니다.

일치하는 규칙의 사용은 Distinguished Name(DN) 구문을 사용한 속성으로 제한됩니다. inchainMatch 일치 규칙을 사용하여 다음 검색을 수행할 수 있습니다.

  • 검색 필터 (member:1.2.840.113556.1.4.1941:=uid=jdoe,ou=people,dc=example,dc=com) 는 사용자 jdoe 가 멤버인 모든 직접 또는 간접 그룹을 찾습니다.
  • 검색 필터 (manager:1.2.840.113556.1.4.1941:=uid=jsmith,ou=people,dc=example,dc=com) 는 관리자가 jsmith 인 모든 직접 또는 간접 사용자를 찾습니다.
  • 검색 필터 (parentOrganization:1.2.840.113556.1.4.1941:=ou=ExampleCom,ou=europe,dc=example,dc=com)Example Com 이 속한 모든 직접 또는 간접 조직을 찾습니다.
  • 검색 필터 (memberof:1.2.840.113556.1.4.1941:=cn=Marketing,ou=groups,dc=example,dc=com)Marketing 그룹의 모든 직접 또는 간접 멤버를 찾습니다.

성능상의 이유로 inchainMatch 에서 사용하는 멤버인manager,parentOrganization, member of 속성을 인덱싱해야 합니다.

Directory Server는 In Chain 플러그인을 통해 기본적으로 inchainMatch 일치 규칙을 활성화합니다. 그러나 inchainMatch 는 컴퓨팅 비용이 많이 들고 Directory Manager만 기본적으로 inchainMatch 를 사용할 수 있는 권한을 갖습니다. 다른 사용자에게 권한을 부여하려면 oid=1.2.840.113556.1.4.1941,cn=features,cn=config 항목에서ACI(액세스 제어 명령)를 수정합니다. 자세한 내용은 사용자 항목에 대한 inchainMatch 일치 규칙 활성화를 참조하십시오.

3.4.5.1. 사용자 항목에 대한 inchainMatch 일치 규칙 활성화

inchainMatch가 처리하는 데 비용이 많이 들기 때문에 기본적으로 Directory Manager에는 inchainMatch 일치 규칙을 사용할 수 있는 권한이 있습니다. 다른 사용자에게 권한을 부여하려면 oid=1.2.840.113556.1.4.1941,cn=features,cn=config 항목에서 액세스 제어 명령(ACI)을 수정합니다. 다음 절차에서는 admin 사용자에게 읽기검색 권한을 부여합니다.

사전 요구 사항

  • uid=admin,ou=people,dc=example,dc=com 사용자 항목이 있습니다.
  • uid=jdoe,ou=people,dc=example,dc=com 사용자 항목이 있으며 cn=Marketing_Germany,ou=groups,dc=example,dc=com 그룹에 속합니다.
  • cn=Marketing_Germany,ou=groups,dc=example,dc=com 그룹은 cn=Marketing_EU,ou=groups,dc=example,dc=com 그룹의 중첩 그룹입니다.

절차

  • oid=1.2.840.113556.1.4.1941,cn=features,cn=config 항목에서 기본 ACI를 대체하여 uid=admin,ou=people,dc=example,dc=com 에 대한 Grand 읽기검색 권한:

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: oid=1.2.840.113556.1.4.1941,cn=features,cn=config
    changetype: modify
    replace: aci
    aci: (targetattr != "aci")(version 3.0; acl "InChain Matching Rule"; allow( read, search ) userdn = "ldap:///uid=admin,ou=people,dc=example,dc=com";)
    참고

    여러 사용자에게 권한을 부여하려면 이러한 사용자를 그룹에 추가하고 ACI의 바인딩 규칙에서 groupdn 을 키워드로 설정합니다. 자세한 내용은 그룹 기반 액세스 정의를 참조하십시오.

검증

  • uid=jdoe,ou=people,dc=example,dc=com 사용자가 속하는 그룹을 검색합니다.

    $ ldapsearch -D "uid=admin,ou=people,dc=example,dc=com" ldap://server.example.com -W -xLL -b "dc=example,dc=com" "(member:1.2.840.113556.1.4.1941:=uid=jdoe,ou=people,dc=example,dc=com)" dn
    
       dn: cn=Marketing_EU,ou=groups,dc=example,dc=com
       dn: cn=Marketing_Germany,ou=groups,dc=example,dc=com

3.4.5.2. inchainMatch 일치 규칙 비활성화

inchainMatch 일치 규칙을 구현하기 위해 Directory Server는 기본적으로 활성화된 In Chain 플러그인을 사용합니다. inchainMatch 를 비활성화하려면 dsconf 유틸리티를 사용하여 In Chain 플러그인을 비활성화합니다.

절차

  1. In Chain 플러그인이 활성화되어 있는지 확인합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin show 'In Chain'
    dn: cn=In Chain,cn=plugins,cn=config
    cn: In Chain
    nsslapd-pluginDescription: inchain matching rule plugin
    nsslapd-pluginEnabled: on
    ...
  2. In Chain 플러그인을 비활성화합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin set --enabled off 'In Chain'
    
    Successfully changed the cn=In Chain,cn=plugins,cn=config

    명령은 모든 사용자에 대해 inchainMatch 일치 규칙을 비활성화합니다.

검증

  • Directory Server가 In Chain 플러그인을 비활성화했는지 확인합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin show 'In Chain'
    dn: cn=In Chain,cn=plugins,cn=config
    cn: In Chain
    nsslapd-pluginDescription: inchain matching rule plugin
    nsslapd-pluginEnabled: off
    ...

4장. LDAP 검색(ldapsearch) 예

다음 예제에서는 디렉터리를 통해 검색하는 데 사용되는 가장 일반적인 'ldapsearch'es를 제공합니다.

사전 요구 사항

  • 디렉터리의 모든 항목을 검색합니다.
  • 검색 및 읽기 작업에 대한 익명 액세스를 지원하도록 디렉터리를 구성했습니다. 따라서 명령에서 바인딩 정보를 제공하기 위해 -W-D 옵션을 사용할 필요가 없습니다. 익명 액세스에 대한 자세한 내용은 익명 액세스 권한을 참조하십시오.
  • 서버는 기본 포트 389를 사용합니다. 검색 요청에 지정할 필요가 없습니다.
  • 서버에는 server.example.com 호스트 이름이 있습니다.
  • 포트 636 에서 서버에 대해 TLS를 활성화했습니다. 기본 LDAPS 포트 번호입니다.
  • Directory Server는 모든 데이터를 dc=example,dc=com 접미사 아래에 저장합니다.

모든 항목 반환

다음 LDAP 검색에서는 디렉터리의 모든 항목을 반환합니다.

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(objectclass=*)"

(objectclass=*) 검색 필터를 사용하여 디렉터리의 모든 항목을 반환합니다. 각 항목에는 오브젝트 클래스가 있어야 하며 objectclass 속성은 항상 인덱싱됩니다.

명령줄에서 검색 필터 지정

필터를 따옴표로 묶어 명령에 직접 검색 필터를 지정할 수 있습니다("필터"). 명령에 필터를 제공하는 경우 -f 옵션을 지정하지 마십시오. 예를 들어 "cn=babs jensen" 을 지정하려면 다음을 입력합니다.

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "cn=babs jensen"

Root DSE 항목 검색

루트 DSE는 로컬 Directory Server에서 지원하는 모든 접미사를 포함하여 디렉터리 서버 인스턴스에 대한 정보가 포함된 특수 항목입니다. 검색 기반 "", 검색 범위 기본, 필터 "objectclass=*" 를 제공하여 이 항목을 검색합니다. 예를 들면 다음과 같습니다.

# ldapsearch -H ldap://server.example.com -x -b "" -s base "objectclass=*"

스키마 항목 검색

cn=schema 항목은 개체 클래스 및 특성 유형과 같은 디렉터리 스키마에 대한 정보를 포함하는 특수 항목입니다.

cn=schema 항목의 내용을 나열하려면 다음 명령 중 하나를 입력합니다.

# ldapsearch -x -o ldif-wrap=no -b "cn=schema" \ '(objectClass=subSchema)' -s sub objectClasses attributeTypes matchingRules \ matchingRuleUse dITStructureRules nameForms ITContentRules ldapSyntaxes

또는

# ldapsearch -x -o ldif-wrap=no -b "cn=schema" \ '(objectClass=subSchema)' -s sub "+"

LDAP_BASEDN 변수 사용

검색을 단순화하기 위해 LDAP_BASEDN 환경 변수를 사용하여 검색 기반을 설정할 수 있습니다. -b 옵션과 함께 ldapsearch 명령을 사용하는 대신 LDAP_BASEDN 을 설정할 수 있습니다. 환경 변수 설정에 대한 자세한 내용은 운영 체제 설명서를 참조하십시오.

LDAP_BASEDN 을 디렉터리 접미사 값으로 설정합니다. 디렉터리 접미사는 디렉터리의 root 항목과 동일하므로 모든 검색은 디렉터리 루트 항목에서 시작됩니다.

예를 들어 LDAP_BASEDN 변수를 dc=example,dc=com 으로 설정하고 디렉터리에서 cn=babs jensen 을 검색하려면 다음을 입력합니다.

# export LDAP_BASEDN="dc=example,dc=com"

# ldapsearch -H ldap://server.example.com -x "cn=babs jensen"

이 명령은 범위를 지정하는 데 -s 옵션이 제공되지 않았기 때문에 기본 범위 하위 를 사용합니다.

속성의 하위 집합 표시

ldapsearch 명령은 모든 검색 결과를 LDIF 형식으로 반환합니다. 기본적으로 ldapsearch 는 항목 고유 이름(DN)과 사용자가 읽을 수 있는 모든 속성을 반환합니다. 사용자가 지정된 디렉터리 항목에서 속성 하위 집합만 읽을 수 있도록 디렉터리 액세스 제어를 설정할 수 있습니다.

Directory Server는 기본적으로 운영 속성을 반환하지 않습니다. 검색 작업의 결과로 작동 속성을 반환하려면 검색 명령에 이러한 속성을 명시적으로 지정하거나 + 인수를 사용하여 모든 작동 속성을 반환합니다. 자세한 내용은 운영 속성 검색을 참조하십시오.

검색 필터 후 명령줄에서 필요한 특성을 지정하여 반환된 속성을 몇 가지 특정 속성으로 제한할 수 있습니다.

예를 들어 디렉터리의 모든 항목에 대한 cnsn 속성을 표시하려면 다음을 입력합니다.

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(objectclass=*)" sn cn 

운영 속성 검색

운영 속성은 Directory Server가 자체적으로 설정하는 특수 속성입니다. Directory Server는 운영 특성을 사용하여 액세스 제어 지침 처리와 같은 유지 관리 작업을 수행합니다. 이러한 속성은 이 항목이 처음 생성된 시간과 이를 생성한 사용자의 이름과 같은 항목에 대한 특정 정보를 표시합니다.

항목의 개체 클래스에 대해 특성을 구체적으로 정의하더라도 디렉터리의 모든 항목에서 작동 속성을 사용할 수 있습니다.

일반 ldapsearch 명령은 작동 속성을 반환하지 않습니다. RFC3673 에 따르면 검색 요청의 모든 운영 속성을 반환하려면 + 를 사용합니다.

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(objectclass=*)" '+' 

정의된 특정 운영 속성만 반환하려면 ldapsearch 요청에 명시적으로 지정합니다.

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(objectclass=*)" creatorsName createTimestamp modifiersName modifyTimestamp 

운영 속성의 전체 목록은 운영 속성 및 개체 클래스 를 참조하십시오.

참고

지정된 운영 특성과 함께 모든 일반 항목 속성을 반환하려면 나열된 운영 속성 외에도 특수 검색 속성인 "*" 을 사용합니다.

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(objectclass=*)" "*" aci

쉘이 해석되지 않도록 별표(*)를 따옴표로 묶어야 합니다.

파일을 사용하여 검색 필터 지정

명령줄에서 검색 필터를 입력하는 대신 파일에 검색 필터를 지정할 수 있습니다.

파일의 개별 행에 대해 각 검색 필터를 지정합니다. ldapsearch 명령은 파일에 표시되는 순서대로 각 검색을 실행합니다.

예를 들어 파일에는 다음 필터가 포함되어 있습니다.

sn=example
givenname=user

ldapsearch 명령은 먼저 ' '로 설정된 모든 항목을 찾은 다음 지정된 이름이 user 로 설정된 모든 항목을 찾습니다. 검색 요청이 두 검색 기준과 일치하는 항목을 발견하면 항목이 두 번 반환됩니다.

다음 검색에서 필터는 searchdb 라는 파일에 지정됩니다.

# ldapsearch -H ldap://server.example.com -x -f searchdb 

검색 줄 끝에 속성 이름을 지정하여 반환된 속성 세트를 제한할 수 있습니다. 예를 들어 다음 ldapsearch 명령은 검색을 수행하지만 각 항목의 DN 및 지정된 이름sn 속성만 반환합니다.

# ldapsearch -H ldap://server.example.com -x -f searchdb sn givenname

검색 필터에 쉼표가 포함된 DN 지정

검색 필터 내의 DN에 해당 값의 일부로 쉼표가 포함된 경우 검색 명령은 백슬래시(\)를 사용하여 쉼표를 이스케이프해야 합니다. 예를 들어 example.com Bolivia, S.A. 하위 트리에서 모든 사용자를 찾으려면 다음을 입력합니다.

# ldapsearch -H ldap://server.example.com -x -s base -b "l=Bolivia\, S.A.,dc=example,dc=com" "objectclass=*"

필터에서 nsRole 가상 속성 사용

다음 예에서 ldapsearch 명령은 managed_role 값으로 설정된 nsrole 속성이 포함된 모든 사용자 항목의 DN을 검색합니다.

# ldapsearch -H ldap://server.example.com -x -b "dc=example,dc=com" "(nsrole=cn=managed_role,dc=example,dc=com)" dn

클라이언트 인증서를 사용하여 Directory Server에 바인딩

인증서 기반 인증에 대한 자세한 내용은 인증서 기반 인증 구성을 참조하십시오.

언어 일치 규칙으로 검색

검색 필터에서 일치하는 규칙을 명시적으로 제출하려면 속성 뒤에 일치하는 규칙을 삽입합니다.

attr:matchingRule:=value

일치 규칙은 국제화된 디렉토리를 검색하는 데 자주 사용됩니다. 다음 명령은 스웨덴 (2.16.840.1.113730.3.3.2.46.1)에서 N4709 이후의 부서 번호를 검색합니다.

departmentNumber:2.16.840.1.113730.3.3.2.46.1:=>= N4709

국제화된 검색을 수행하는 더 많은 예 는 국제화된 디렉토리 검색을 참조하십시오.

사용자가 속하는 그룹 검색

uid=jdoe,ou=people,dc=example,dc=com 이 멤버인 모든 직접 또는 간접 그룹을 찾으려면 다음을 입력합니다.

# ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -xLL -b "dc=example,dc=com" "(member:1.2.840.113556.1.4.1941:=uid=jdoe,ou=people,dc=example,dc=com)" dn

inchainMatch 일치 규칙이 있는 검색은 익명 액세스를 지원하지 않습니다. inchainMatch 일치 규칙을 사용하는 방법에 대한 자세한 내용은 inchainMatch 일치 규칙 사용을 참조하여 LDAP 항목의 상위 항목을 찾습니다.

그룹 멤버 검색

marketing 그룹의 모든 직접 또는 간접 멤버를 찾으려면 다음을 입력합니다.

# ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -xLL -b "dc=example,dc=com" "(memberof:1.2.840.113556.1.4.1941:=cn=marketing,ou=groups,dc=example,dc=com)" dn

inchainMatch 일치 규칙이 있는 검색은 익명 액세스를 지원하지 않습니다. inchainMatch 일치 규칙을 사용하는 방법에 대한 자세한 내용은 inchainMatch 일치 규칙 사용을 참조하여 LDAP 항목의 상위 항목을 찾습니다.

비트 필드 값으로 속성 검색

비트 단위 검색에서는 비트별 AND 또는 비트별 또는 일치 규칙을 사용하여 비트 필드인 속성에서 비트 검색 작업을 수행합니다.

참고

bit 필드의 값이 있는 속성은 LDAP에서 일반적이지 않습니다. 기본 디렉터리 서버 스키마는 비트 필드를 특성 구문으로 사용하지 않습니다. 그러나 여러 LDAP 구문은 정수 스타일 값을 지원합니다. 비트 필드 값을 사용하도록 사용자 지정 속성을 정의할 수 있습니다. 애플리케이션에서는 사용자 지정 속성을 사용하여 비트 필드 값에 대해 비트별 작업을 수행할 수 있습니다.

비트 일치 규칙(1.2.840.113556.1.4.803)은 어설션 값에 지정된 비트가 비트 필드 속성 값에 설정되어 있는지 확인합니다. 이는 동등한 검색과 유사합니다. 다음 예제에서는 userAccountControl 값을 2 를 나타내는 비트로 설정합니다.

"(UserAccountControl:1.2.840.113556.1.4.803:=2)"

다음 예제에서는 userAccountControl 값에 값 6 (비트 24)에 설정된 모든 비트가 있어야 함을 보여줍니다.

"(UserAccountControl:1.2.840.113556.1.4.803:=6)”

비트 또는 일치 규칙(1.2.840.113556.1.4.804)은 어설션 문자열에 있는 비트 중 하나가 특성 값에 표시되는지 확인합니다. 하위 문자열 검색과 유사합니다. 이 예에서 UserAccountControl 값에는 6 의 비트 필드에 설정된 비트 중 하나가 있어야 합니다. 즉, 특성 값이 2,4 또는 6 일 수 있습니다.

"(UserAccountControl:1.2.840.113556.1.4.804:=6)"

Samba 파일 서버 사용과 같은 Windows-Linux 통합과 함께 비트별 검색을 사용할 수 있습니다.

5장. 리소스 제한을 통해 검색 성능 개선

데이터베이스의 모든 항목을 검색하면 대규모 디렉터리의 서버 성능에 부정적인 영향을 미칠 수 있습니다. 대규모 데이터베이스에서 효과적인 인덱싱이 성능을 개선하기 위해 검색 범위를 충분히 감소하지 못할 수 있습니다.

사용자 및 클라이언트 계정에 대한 제한을 설정하여 총 항목 수 또는 개별 검색에 소요된 총 시간을 줄일 수 있습니다. 이렇게 하면 검색에 응답성이 향상되고 전체 서버 성능이 향상됩니다.

5.1. 대규모 디렉터리에 대한 작업 제한 검색

클라이언트 애플리케이션 바인딩에서 디렉터리에 대한 특수 운영 특성 값을 사용하여 검색 작업에 대한 서버 제한을 제어할 수 있습니다. 다음 검색 작업 제한을 설정할 수 있습니다.

  • Look through limit은 검색 작업을 검사할 수 있는 항목 수를 지정합니다.
  • 크기 제한은 검색 작업에 대한 응답으로 서버가 클라이언트 애플리케이션에 반환하는 최대 항목 수를 지정합니다.
  • 시간 제한은 서버가 검색 작업을 처리하는 데 사용할 수 있는 최대 시간을 지정합니다.
  • Idle 시간 제한은 연결이 삭제되기 전에 서버에 대한 연결을 유휴 상태로 설정할 수 있는 시간을 지정합니다.
  • 범위 제한은 범위를 사용하여 검색을 위해 특별히 별도의 조회- 처리 제한을 지정합니다.

글로벌 서버 구성에서 클라이언트 애플리케이션에 설정된 리소스 제한이 설정된 기본 리소스 제한보다 우선합니다.

참고

디렉터리 관리자는 범위 검색을 제외하고 기본적으로 무제한 리소스를 받습니다.

5.2. 인덱스 검사 제한을 사용하여 성능 개선

큰 인덱스의 경우 인덱스와 일치하는 모든 검색을 인덱싱되지 않은 검색으로 처리하는 것이 효율적입니다.For large indexes, it is efficient to treat any search which matches the index as an unindexed search. 검색 작업은 디렉터리 자체 외에 디렉터리의 크기가 거의 없는 인덱스를 통해 검색하는 대신 결과를 처리하기 위해 전체 디렉토리를 확인해야 합니다.

5.3. 세분화된 ID 목록 크기

대규모 데이터베이스에서 일부 쿼리는 많은 수의 CPU 및 RAM 리소스를 사용할 수 있습니다. 성능을 개선하기 위해 nsslapd-idlistscanlimit 특성을 사용하여 데이터베이스의 모든 인덱스에 적용되는 기본 ID 검사 제한을 설정할 수 있습니다. 그러나 특정 인덱스에 대한 제한을 정의하거나 ID가 정의되지 않은 목록을 사용하는 것이 유용합니다. nsIndexIDListScanLimit 특성을 사용하여 다양한 유형의 검색 필터에 대한 ID 목록 검사 제한에 대한 개별 설정을 설정할 수 있습니다.

5.4. 명령줄을 사용하여 사용자 및 글로벌 리소스 제한 설정

명령줄을 사용하여 사용자 수준 리소스 제한, 글로벌 리소스 제한, 간단한 페이지 링 및 범위 검색과 같은 특정 유형의 검색에 대한 제한을 설정할 수 있습니다. 개별 항목에 대한 사용자 수준 속성을 설정할 수 있으며 전역 구성 속성은 적절한 서버 구성 영역에 설정됩니다.

ldapmodify 명령을 사용하여 각 항목에 대해 다음과 같이 언급된 작동 속성을 설정할 수 있습니다.

  • look-through

    look-through 제한 특성을 사용하여 검색 작업을 검사할 항목 수를 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 제한이 없음을 나타냅니다.

    1. 사용자 수준 특성: nsLookThroughLimit
    2. 글로벌 구성:

      1. 속성: nsslapd-lookthroughlimit
      2. 항목: cn=config,cn=ldbm 데이터베이스,cn=plugins,cn=config

        # dsconf instance backend config set --lookthroughlimit value
  • 페이지가 지정된 조회

    paged look-through limit 특성을 사용하여 간단한 페이지가 지정된 검색 작업을 검사할 항목 수를 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 제한이 없음을 나타냅니다.

    1. 사용자 수준 특성: nsPagedLookThroughLimit
    2. 글로벌 구성:

      1. 속성: nsslapd-pagedlookthroughlimit
      2. 항목: cn=config,cn=ldbm 데이터베이스,cn=plugins,cn=config

        # dsconf instance backend config set --pagedlookthroughlimit value
  • 크기

    size limit 특성을 사용하여 검색 작업에 대한 응답으로 서버가 클라이언트 애플리케이션에 반환하는 최대 항목 수를 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 제한이 없음을 나타냅니다.

    1. user-level 속성: nsSizeLimit
    2. 글로벌 구성:

      1. 속성: nsslapd-sizelimit
      2. 항목: cn=config

        # dsconf instance config replace nsslapd-sizelimit value

        nsSizeLimit 속성을 사용자 항목에 추가하고 예를 들어 500 개의 항목 검색 반환 크기 제한을 지정할 수 있습니다.

        # ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x
        ...
        dn: uid=user_name,ou=People,dc=example,dc=com
        changetype: modify
        add: nsSizeLimit
        nsSizeLimit: 500
        ...
  • 페이지 크기

    paged size limit 특성을 사용하여 서버가 간단한 페이지 검색 작업에 대해 클라이언트 애플리케이션으로 반환하는 최대 항목 수를 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 제한이 없음을 나타냅니다.

    1. 사용자 수준 특성: nsPagedSizeLimit
    2. 글로벌 구성:

      1. 속성: nsslapd-pagedsizelimit
      2. 항목: cn=config

        # dsconf instance config replace nsslapd-pagedsizelimit value
  • time

    시간 제한 특성을 사용하여 서버에서 검색 작업을 처리하는 데 사용할 수 있는 최대 시간을 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 시간 제한이 없음을 나타냅니다.

    1. 사용자 수준 속성: nsTimeLimit
    2. 글로벌 구성:

      1. 속성: nsslapd-timelimit
      2. 항목: cn=config

        # dsconf instance config replace nsslapd-timelimit value
  • 유휴 시간 초과

    유휴 시간 초과 특성을 사용하여 연결을 삭제하기 전에 서버에 대한 연결을 유휴 상태로 설정할 수 있는 시간(초)을 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 제한이 없음을 나타냅니다.

    1. user-level 속성: nsidletimeout
    2. 글로벌 구성:

      1. 속성: nsslapd-idletimeout
      2. 항목: cn=config

        # dsconf instance config replace nsslapd-idletimeout value
  • ID 목록 검사

    검색 결과를 위해 인덱스 파일에서 로드된 최대 항목 ID 수를 지정할 수 있습니다. ID 목록 크기가 최대 ID 수보다 크면 검색에서 인덱스 목록을 사용하지 않지만 검색을 인덱싱되지 않은 검색으로 처리하고 전체 데이터베이스를 확인합니다.

    1. 사용자 수준 특성: nsIDListScanLimit
    2. 글로벌 구성:

      1. 특성: nsslapd-idlistscanlimit
      2. 항목: cn=config,cn=ldbm 데이터베이스,cn=plugins,cn=config

        # dsconf instance backend config set --idlistscanlimit value
  • 페이지가 지정된 ID 목록 검사

    페이지 ID 목록 검사 제한을 사용하여 페이지링된 검색 작업에 대해 특히 검색 결과에 대해 인덱스 파일에서 로드된 항목 ID 의 최대 수를 지정할 수 있습니다.

    1. 사용자 수준 특성: nsPagedIDListScanLimit
    2. 글로벌 구성:

      1. 특성: nsslapd-pagedidlistscanlimit
      2. 항목: cn=config,cn=ldbm 데이터베이스,cn=plugins,cn=config

        # dsconf instance backend config set --pagedidlistscanlimit value
  • 범위 조회

    범위 조회 제한을 사용하여 범위 검색 작업을 검사할 항목 수를 지정할 수 있습니다. 특성의 값을 -1 로 설정하면 제한이 없음을 나타냅니다.

    참고

    범위 검색은 greater-than,equal-to-or-greater-than,less-than 또는 equal-to-less-than 연산자를 사용하여 검색한 것입니다.

    1. 사용자 수준 속성: 사용할 수 없음
    2. 글로벌 구성:

      1. 속성: nsslapd-rangelookthroughlimit
      2. 항목: cn=config,cn=ldbm 데이터베이스,cn=plugins,cn=config

        # dsconf instance backend config set ----rangelookthroughlimit value
        참고

        사용자가 설정을 변경하지 못하도록 액세스 제어 목록을 설정할 수 있습니다.

추가 리소스

5.5. 익명 바인딩에 리소스 제한 설정

리소스 제한이 있는 템플릿 사용자 항목을 생성한 다음 리소스 제한이 사용자 항목에 설정되고 익명 바인딩에 연결된 사용자 항목이 없기 때문에 이 템플릿을 익명 바인딩에 적용하여 익명 바인딩에 대한 리소스 제한을 구성할 수 있습니다.

사전 요구 사항

  • 템플릿 항목이 생성되었습니다.

절차

  1. 익명 바인딩에 적용할 리소스 제한을 설정합니다.

    # ldapadd -D "cn=Directory Manager" -W -p 389 -h server.example.com -x
    ...
    dn: cn=anonymous_template,ou=people,dc=example,dc=com
    objectclass: nsContainer
    objectclass: top
    cn: anonymous_template
    nsSizeLimit: 250
    nsLookThroughLimit: 1000
    nsTimeLimit: 60
    ...
    참고

    성능상의 이유로 템플릿은 항목 캐시를 사용하지 않는 cn=config 접미사가 아닌 일반 백엔드에 있어야 합니다.

  2. 복제 토폴로지의 모든 공급업체에서 템플릿 항목의 DN 을 가리키는 nsslapd-anonlimitsdn 매개변수를 서버 구성에 추가합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-anonlimitsdn="cn=anonymous_template,ou=people,dc=example,dc=com"

5.6. 범위 검색을 위한 성능 개선

범위 검색(모든 ID 검색)은 operators를 사용하여 디렉토리 내의 항목의 전체 하위 집합을 검색하고 반환하는 데 bracket을 설정합니다. 범위 검색은 디렉터리의 모든 항목을 평가하여 항목이 제공된 범위 내에 있는지 확인할 수 있습니다.

예를 들어 1월 1일 자정 이후에 수정된 모든 항목을 검색하려면 다음 명령을 실행합니다.

# (modifyTimestamp>=20210101010101Z)

범위 검색이 모든 ID 검색으로 전환되지 않도록 하려면 look-through 제한을 사용할 수 있습니다. 이 제한을 사용하면 전체 성능을 개선하고 범위 검색 결과를 가속화할 수 있습니다. 그러나 Directory Manager와 같은 일부 클라이언트 또는 관리 사용자는 조회 제한을 설정할 수 없습니다. 이 경우 범위 검색을 완료하는 데 몇 분 정도 걸리거나 무기한 계속될 수 있습니다.

그러나 별도의 범위 조회 제한을 설정할 수 있습니다. 이 제한을 설정하면 클라이언트 및 관리 사용자는 높은 조회 제한을 가질 수 있으며 잠재적으로 성능 페어링 범위 검색에 적절한 제한을 설정할 수 있습니다.

nsslapd-rangelookthroughlimit 특성을 사용하여 이러한 설정을 구성할 수 있습니다. 기본값은 5000입니다.

별도의 범위 조회 제한을 7500으로 설정하려면 다음 명령을 실행합니다.

# dsconf -D "cn=Directory Manager" ldap://server.example.com backend config set --rangelookthroughlimit 7500

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.