ldap-tutorial

메인 인덱스 | bob-yamong

이 문서는 ldap-tutorial 레포를 실제 디렉토리와 설정 파일 기준으로 정리한 노트입니다.

레포지토리 정보

이름: ldap-tutorial
주요 목적: OpenLDAP 서버와 Ubuntu 클라이언트 컨테이너를 분리해 LDAP 연동을 실습하는 튜토리얼 레포지토리입니다.

주요 기술 스택

  • 디렉토리 서비스: OpenLDAP와 phpLDAPadmin입니다.
  • 컨테이너화: Docker와 Docker Compose입니다.
  • 클라이언트 환경: Ubuntu 20.04 기반 SSH 컨테이너입니다.
  • 인증 설정: NSS, PAM, LDAP 유틸리티를 함께 사용합니다.

아키텍처

  • 유형: LDAP 서버와 클라이언트 설정을 나눈 실습용 컨테이너 레포지토리입니다.
  • 구성 요소:
    • openldap_container에는 osixia/openldaposixia/phpldapadmin 구성이 있습니다.
    • openldap_container/docker-compose.yml은 389, 636, 8080 포트를 노출합니다.
    • 환경 변수는 LDAP_DOMAIN=example.com, LDAP_BASE_DN=dc=example,dc=com, 관리자 계정, 설정 비밀번호, 읽기 전용 계정을 포함합니다.
    • ubuntu_container에는 SSH 서버와 LDAP 클라이언트 설정이 들어 있습니다.
    • ubuntu_container/Dockerfileopenssh-server, libnss-ldap, libpam-ldap, nscd, ldap-utils를 설치합니다.
    • ubuntu_container/docker-compose.yml은 2222:22 포트를 사용합니다.
    • ubuntu_container 아래에 nsswitch.conf, ldap.conf, common-auth, common-account, common-session, common-password, sshd_config가 있습니다.
    • ldap_user_example에는 사용자 LDIF 예제가 있습니다.

주요 파일

  1. openldap_container/docker-compose.yml - OpenLDAP 서버와 phpLDAPadmin 구성을 정의합니다.
  2. ubuntu_container/Dockerfile - LDAP 클라이언트와 SSH 서버 실행 이미지를 구성합니다.
  3. ubuntu_container/docker-compose.yml - SSH 접속용 Ubuntu 컨테이너를 띄웁니다.
  4. ubuntu_container/nsswitch.conf - NSS 조회 구성을 제공합니다.
  5. ubuntu_container/ldap.conf - LDAP 클라이언트 연결 설정을 담고 있습니다.
  6. ubuntu_container/common-auth, common-account, common-session, common-password, sshd_config - PAM과 SSH 동작을 맞추는 설정 파일입니다.
  7. ldap_user_example/*.ldif - LDAP 사용자 예제를 제공합니다.

포트폴리오 메모

  • OpenLDAP와 Ubuntu 클라이언트를 분리해 인증 흐름을 확인할 수 있습니다.
  • 서버 설정, 클라이언트 설정, 사용자 예제가 한 레포 안에서 연결됩니다.
  • 실제 파일 경로가 분명해서 LDAP 연동 설명 자료로 쓰기 좋습니다.