검색하는 방법을 사용하여 LDAP ldapsearch(예)

에서 작업하는 경우에는 중소형 회사로,당신은 아마 상호 작용과 함께 매일 LDAP.

이것이 Windows 도메인 컨트롤러에 있든 Linux OpenLDAP 서버에 있든 ldap 프로토콜은 인증을 중앙 집중화하는 데 매우 유용합니다.

그러나 LDAP 디렉토리가 커짐에 따라 관리해야 할 수있는 모든 항목에서 길을 잃을 수도 있습니다.

운 좋게도 LDAP 디렉토리 트리에서 항목을 검색하는 데 도움이되는 명령이 있습니다:ldapsearch.

이 튜토리얼에서는 ldapsearch 를 사용하여 ldap 를 쉽게 검색 할 수있는 방법을 살펴 보겠습니다.

우리는 또한 고급 LDAP 검색을 수행하기 위해 명령에 의해 제공되는 옵션을 검토 할 예정이다.

테이블의 내용.

검색을 사용하여 LDAP ldapsearch

는 가장 쉬운 방법을 검색 LDAP 를 사용하는 것입 ldapsearch 는”x”옵션은 간단한 인증을 지정하고 검색 기준으로”-b”.ldap 서버에서 직접 검색을 실행하지 않으면”-H”옵션을 사용하여 호스트를 지정해야합니다.

$ ldapsearch -x -b <search_base> -H <ldap_host>

예를 들어,말하자는 OpenLDAP 서버에 설치 및 실행 192.168.178.29 의 호스트 네트워크입니다.

경우 서버는 받아들이는 익명으로 인증을 수행 할 수 있습니다 LDAP 검색 쿼리지 않고 바인딩하여 관리자 계정이다.

$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29
ldap 검색 기본적인 쿼리

당신이 볼 수 있듯이,지정하지 않는 경우 어떤 필터를 LDAP 클라이언트를 원하는 검색을 실행하기 위해서 모든 오브젝트 클래스의 디렉토리 나무입니다.결과적으로 많은 정보가 제공됩니다. 제시된 정보를 제한하려는 경우 다음 장에서 LDAP 필터에 대해 설명하겠습니다.

검색 LDAP 관리자 계정은

어떤 경우에,당신은 당신을 실행할 수 있습 LDAP 쿼리를 관리하기 위해 계정이 additionnal 정보가 표시됩니다.이를 달성하려면 LDAP 트리의 관리자 계정을 사용하여 바인드 요청을해야합니다.

을 검색 LDAP 관리자 계정을 사용하여,당신은 당신을 실행하는”ldapsearch”쿼리로”D”옵션에 대한 바인딩 DN 고”W”하기 위해서는 암호를 물어본다.

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W

예를 들어,말하자는 관리자 계정은 다음과 같은 고유 이름:”cn=admin,dc=devconnected,dc=com”.

을 수행하기 위해서는 LDAP 검색으로 이 계정에 당신이 당신의 다음 쿼리를 실행합니다.

$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29 -D "cn=admin,dc=devconnected,dc=com" -W 
ldap 검색을 사용하여 관리자 계정은

실행하는 경우에는 LDAP 검색으로 administrator 계정 에 노출될 수 있습니다 사용자가 암호를 암호화하므로 실행할 수 있는지 확인하십시오 쿼리에 있습니다.

필터로 LDAP 검색 실행

필터없이 일반 LDAP 검색 쿼리를 실행하면 시간과 리소스가 낭비 될 가능성이 큽니다.

대부분의 경우 LDAP 디렉토리 트리에서 특정 개체를 찾기 위해 LDAP 검색 쿼리를 실행하려고합니다.

하기 위해 검색에 대한 LDAP 항목으로 필터에 추가할 수 있습니다 당신의 필터링의 끝 부분에 ldapsearch 명령:왼쪽에 있는 객체 유형을 지정하고 오른쪽에있는 개체 값입니다.

선택적으로 객체에서 반환 할 속성(사용자 이름,사용자 암호 등)을 지정할 수 있습니다.)

$ ldapsearch <previous_options> "(object_type)=(object_value)" <optional_attributes>

를 찾는 모든 개체 디렉토리에서 나무

을 반환하기 위해 사용할 수 있는 모든 개체가에서 LDAP 트리에 추가할 수 있는”보안”필터 및 와일드카드 문자”*”를 지정하려면 원하는 모든 개체입니다.

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=*"

경우 이 쿼리를 실행하는,당신이 표시됩니다 모든 개체 및 모든 속성에서 사용할 수 있습니다.

을 찾는 사용자 계정을 사용하여 ldapsearch

예를 들어,당신이 당신을 찾으려면 모든 사용자 계정에서 LDAP 디렉토리 나무입니다.

기본적으로,사용자 계정을 가장 가능성이있을 것이””계정 구조,객체 클래스를 사용할 수 있는 좁은 모든 사용자 계정이 있습니다.

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account"

기본적으로 쿼리는 주어진 객체 클래스에 사용할 수있는 모든 속성을 반환합니다.

모든 사용자가 사용하여 ldap ldapsearch

로 지정된 이전 섹션에서 추가할 수 있습니다 선택적 특성의 경우 쿼리를 당신이 원하는 범위를 좁힐 수 있습니다.

예를 들어,만 관심이 있는 경우에는 사용자 CN,UID 및 가정 디렉토리 당신은 다음을 실행하는 LDAP 검색

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account" cn uid homeDirectory

을 지정하는 ldap 속성에 ldapsearch

멋을 성공적으로 수행하는 LDAP 검색 필터를 사용하여 속성 선택기!

와 연산자를 사용하여 ldapsearch

하기 위해서는 여러 개의 필터에 의해 분리”및”연산자,당신을 묶어야 모든 조건이 사이에 괄호하고”&”문자를 쓰의 시작 부분에서 쿼리를 실행합니다.

$ ldapsearch <previous_options> "(&(<condition_1>)(<condition_2>)...)"

예를 들어,당신이 당신을 찾으려면 모든 항목이 있을”보안”같은”계정”및”uid”같은”john”, 당신은 다음 쿼리를 실행합니다.

$ ldapsearch <previous_options> "(&(objectclass=account)(uid=john))"
고자 ldap search query

또는 연산자를 사용하여 ldapsearch

하기 위해서는 여러 개의 필터에 의해 분리”또는”연산자 당신을 묶어야 모든 조건이 사이에 괄호하고”|”문자를 쓰의 시작 부분에서 쿼리를 실행합니다.

$ ldapsearch <previous_options> "(|(<condition_1>)(<condition_2>)...)"

경우,예를 들어,당신을 찾으려면 모든 항목을 갖는 물체 등의 유형”계정”또는”유형 organizationalRole”,당신은 다음 쿼리를 실행합니다.

$ ldapsearch <previous_options> "(|(objectclass=account)(objectclass=organizationalRole))"

부정 사용하여 필터 ldapsearch

어떤 경우에,당신이 원하는 부정적인 일의 일부 항목에서 LDAP 디렉토리 나무입니다.

네거티브 매치 필터를 갖기 위해서는 조건(들)을”!”문자와 괄호를 둘러싸는 것으로 구분 된 조건이 있습니다.

$ ldapsearch <previous_options> "(!(<condition_1>)(<condition_2>)...)"

경우,예를 들어,당신이 원하는 모든 항목이 있지 않”cn”속성 값을”john”,당신은 다음과 같은 쿼리를 작성

$ ldapsearch <previous_options> "(!(cn=john))"

을 찾는 LDAP 서버 구성을 사용하여 ldapsearch

하나의 고급 사용법의 ldapsearch 명령을 구성하는 LDAP 나무입니다.

OpenLDAP 에 익숙하다면 ldap 계층 구조의 맨 위에 앉아있는 전역 구성 객체가 있다는 것을 알고 있습니다.

경우에 따라 액세스 제어를 수정하거나 예를 들어 루트 관리자 암호를 수정하기 위해 LDAP 구성의 속성을 볼 수 있습니다.

LDAP 구성을 검색하려면”ldapsearch”명령을 사용하고 LDAP 트리의 검색 기반으로”cn=config”를 지정하십시오.

이 검색을 실행하려면”-Y”옵션을 사용하고 인증 메커니즘으로”외부”를 지정해야합니다.

$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config 

참고:이 명령을 실행에서 직접 서버지의 하나에서 LDAP 클라이언트입니다.

찾 ldap 구성체

기본적으로 이 명령이 돌아의 많은 결과를 반환드,스키마와 모듈을 사용합니다.

검색을 데이터베이스 구성으로 제한하려는 경우 ldapsearch 를 사용하여”olcDatabaseConfig”객체 클래스를 지정할 수 있습니다.

$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config "(objectclass=olcDatabaseConfig)"

와일드카드를 사용하는 LDAP 검색

또 다른 강력한 방법을 통해 검색 목록이 LDAP 항목을 사용하는 와일드카드 문자와 같은 별표(“*”).

와일드카드 문자와 동일한 기능이 있는 별표에서 사용하는 regex:사용됩니다 어떤 특성을 시작 또는 끝 지정된 문자열.

$ ldapsearch <previous_options> "(object_type)=*(object_value)"$ ldapsearch <previous_options> "(object_type)=(object_value)*"

예를 들어,당신이 당신을 찾으려면 모든 항목이 갖는 특성”uid”을 시작으로 letter”j”.

$ ldapsearch <previous_options> "uid=jo*"
와일드카드를 사용하는 ldap 검색 쿼리

Ldapsearch 고급 옵션

이 튜토리얼에서,당신은 당신에 대해 배운 기본적인 ldapsearch 옵션이 있지만 많은 사람들이 있는 관심이있을 수 있습니다.

LDAP 확장치 필터

Extensible LDAP 경기 필터를 사용하세요한 기존 사업자(예를 들어 같음 운영자)의 종류를 지정하여 비교할을 수행할 수 있습니다.

과급 기본 연산자

LDAP 연산자를 과급하려면”:=”구문을 사용해야합니다.

$ ldapsearch <previous_options> "<object_type>:=<object_value>"

경우,예를 들어,당신이 검색하려는 모든 항목이 있”cn”같은”요한”당신은 다음 명령을 실행

$ ldapsearch <previous_options> "cn:=john"# Which is equivalent to$ ldapsearch <previous_options> "cn=john"

으로 당신은 아마,실행 검색에”요한”또는”요한”반환합니다 정확한 결과입니다.

결과적으로 결과를”john”이 정확히 일치하도록 제한하여 검색 대소 문자를 구분하고 싶을 수 있습니다.

ldapsearch 를 사용하여”:”문자로 구분 된 추가 필터를 추가 할 수 있습니다.

$ ldapsearch <previous_options> "<object_type>:<op1>:<op2>:=<object_value>"

예를 들어,하기 위해서 검색는 민감한 경우에,당신은 다음 명령을 실행

$ ldapsearch <previous_options> "cn:caseExactMatch:=john"

에 익숙하지 않은 경우에는 LDAP 경기 필터,여기에의 목록은 모든 사업자를 사용할 수 있습니다.

결론

이 튜토리얼에서는 ldapsearch 명령을 사용하여 LDAP 디렉토리 트리를 검색 할 수있는 방법을 배웠습니다.

연산자(and,or 및 negative operators)로 복잡한 매칭 필터를 구축하는 것뿐만 아니라 기본 항목 및 속성을 검색하는 기본 사항을 보았습니다.

당신은 또한 당신이 배운 것이 가능하다는 것 과급 기존의 연산자를 사용해 확장 가능한 일 옵션이 지정하고 사용자 지정 연산자를 사용할 수 있습니다.

관심이 있는 경우에는 고급 리눅스 시스템 관리의,우리는 완전한 섹션에서 그것을 전용 사이트에서 확인하세요!

ldap

Related Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다