ldap-tutorial
이 문서는 ldap-tutorial 레포를 실제 디렉토리와 설정 파일 기준으로 정리한 노트입니다.
레포지토리 정보
이름: ldap-tutorial
주요 목적: OpenLDAP 서버와 Ubuntu 클라이언트 컨테이너를 분리해 LDAP 연동을 실습하는 튜토리얼 레포지토리입니다.
주요 기술 스택
- 디렉토리 서비스: OpenLDAP와 phpLDAPadmin입니다.
- 컨테이너화: Docker와 Docker Compose입니다.
- 클라이언트 환경: Ubuntu 20.04 기반 SSH 컨테이너입니다.
- 인증 설정: NSS, PAM, LDAP 유틸리티를 함께 사용합니다.
아키텍처
- 유형: LDAP 서버와 클라이언트 설정을 나눈 실습용 컨테이너 레포지토리입니다.
- 구성 요소:
openldap_container에는osixia/openldap과osixia/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/Dockerfile은openssh-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 예제가 있습니다.
주요 파일
openldap_container/docker-compose.yml- OpenLDAP 서버와 phpLDAPadmin 구성을 정의합니다.ubuntu_container/Dockerfile- LDAP 클라이언트와 SSH 서버 실행 이미지를 구성합니다.ubuntu_container/docker-compose.yml- SSH 접속용 Ubuntu 컨테이너를 띄웁니다.ubuntu_container/nsswitch.conf- NSS 조회 구성을 제공합니다.ubuntu_container/ldap.conf- LDAP 클라이언트 연결 설정을 담고 있습니다.ubuntu_container/common-auth,common-account,common-session,common-password,sshd_config- PAM과 SSH 동작을 맞추는 설정 파일입니다.ldap_user_example/*.ldif- LDAP 사용자 예제를 제공합니다.
포트폴리오 메모
- OpenLDAP와 Ubuntu 클라이언트를 분리해 인증 흐름을 확인할 수 있습니다.
- 서버 설정, 클라이언트 설정, 사용자 예제가 한 레포 안에서 연결됩니다.
- 실제 파일 경로가 분명해서 LDAP 연동 설명 자료로 쓰기 좋습니다.