10.4. LDAP 검색(ldapsearch) 예


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

사전 요구 사항

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

10.4.1. 모든 항목 반환

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

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(objectclass=*)"
Copy to Clipboard Toggle word wrap

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

10.4.2. 명령줄에서 검색 필터 지정

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

# ldapsearch -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "cn=babs jensen"
Copy to Clipboard Toggle word wrap

10.4.3. Root DSE 항목 검색

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

# ldapsearch -H ldap://server.example.com -x -b "" -s base "objectclass=*"
Copy to Clipboard Toggle word wrap

10.4.4. 스키마 항목 검색

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
Copy to Clipboard Toggle word wrap

또는

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

10.4.5. 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"
Copy to Clipboard Toggle word wrap

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

10.4.6. 속성의 하위 집합 표시

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

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

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

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

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

10.4.7. 운영 속성 검색

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

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

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

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

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

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

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

참고

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

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

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

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

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

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

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

sn=example
givenname=user
Copy to Clipboard Toggle word wrap

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

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

# ldapsearch -H ldap://server.example.com -x -f searchdb 
Copy to Clipboard Toggle word wrap

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

# ldapsearch -H ldap://server.example.com -x -f searchdb sn givenname
Copy to Clipboard Toggle word wrap

10.4.9. 검색 필터에 쉼표가 포함된 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=*"
Copy to Clipboard Toggle word wrap

10.4.10. 필터에서 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
Copy to Clipboard Toggle word wrap

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

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

10.4.12. 언어 일치 규칙으로 검색

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

attr:matchingRule:=value
Copy to Clipboard Toggle word wrap

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

departmentNumber:2.16.840.1.113730.3.3.2.46.1:=>= N4709
Copy to Clipboard Toggle word wrap

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

10.4.13. 사용자가 속하는 그룹 검색

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
Copy to Clipboard Toggle word wrap

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

10.4.14. 그룹 멤버 검색

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
Copy to Clipboard Toggle word wrap

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

10.4.15. 비트 필드 값으로 속성 검색

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

참고

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

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

"(UserAccountControl:1.2.840.113556.1.4.803:=2)"
Copy to Clipboard Toggle word wrap

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

"(UserAccountControl:1.2.840.113556.1.4.803:=6)”
Copy to Clipboard Toggle word wrap

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

"(UserAccountControl:1.2.840.113556.1.4.804:=6)"
Copy to Clipboard Toggle word wrap

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

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat