목표

  • OpenLDAP 서버를 실행한다.
  • 아래 그림대로 엔트리를 구성한다.

서버 구동

docker run -p 1389:1389 --name openldap bitnami/openldap:latest

클라이언트 설치 및 서버 연결

엔트리 구성 중 트러블 슈팅

no global superior knowledge

  • dc=com 을 만드려고하니 아래와 같은 오류가 발생했다.
  • 원인을 찾아보니 ldap에는 suffix라는 설정값이 존재한다.
    • ldap 서버에는 여러 개의 데이터베이스를 사용할 수 있다.
    • DN 의 suffix에 따라 어떤 데이터베이스에 저장될 것인지 결정한다. 즉, 어떤 엔트리가 어떤 데이터베이스에 저장될 지 설정할 수 있다.
    • 참고: https://www.openldap.org/doc/admin22/dbtools.html
  • 아래와 같이 suffix를 변경하니 기본으로 생성되는 엔트리들도 DN이 바뀐것을 확인할 수 있다.
    • docker run -p 1389:1389 --env LDAP_ROOT=dc=com --name openldap bitnami/openldap:latest

attribute ‘uid’ not allowed

  • ‘uid=bobs,ou=People,dc=example,dc=com’의 엔트리를 생성하기 위해서 아래 사진과 같이 구성하니 에러가 발생했다.
  • schema 상태를 확인해보니, person objectClass에는 uid attribute를 허용하지 않고, uid를 추가하기 위해서는 uidObject라는 objectClass도 추가해야된다.
  • 아래 사진과 같이 성공적으로 추가된 것을 확인할 수 있다.
  • 추가로 RFC-4519 문서에 LDAP에서 제공하는 기본적인 ObjectClass들을 확인할 수 있다.