OpenLDAP 소개
OpenLDAP 패키지는 Lightweight Directory Access Protocol 의 오픈 소스 구현을 제공합니다.
이 패키지는 LFS-8.2 플랫폼을 사용하여 올바르게 빌드하고 작동하는 것으로 알려져 있습니다.
패키지 정보
Download (FTP): ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.45.tgz
Download MD5 sum: 00ff8301277cdfd0af728a6927042a13
Download size: 5.5 MB
Estimated disk space required: 55 MB (client), 107 MB (server)
Estimated build time: 0.7 SBU (client), 1.3 SBU (server)
추가 다운로드
Required patch: http://www.linuxfromscratch.org/patches/blfs/svn/openldap-2.4.45-consolidated-1.patch
OpenLDAP 종속성
기본
선택
ICU-60.2, GnuTLS-3.6.2, Pth-2.0.7, unixODBC-2.3.5, MariaDB-10.2.12 or PostgreSQL-10.2 or MySQL, OpenSLP, and Berkeley DB-6.2.32 (not recommended by the developers)
사용자 참고 사항 : http://wiki.linuxfromscratch.org/blfs/wiki/openldap
OpenLDAP 설치
Note
클라이언트 측의 ldap* 바이너리, 해당 매뉴얼 페이지, 라이브러리 및 헤더 파일 ( "클라이언트 전용" 설치) 들 만을 설치하려면 다음 명령을 실행합니다. (사용 가능한 테스트 스위트 없음)
patch -Np1 -i ../openldap-2.4.45-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-dynamic \
--disable-debug \
--disable-slapd &&
make depend && make
그런 후 root 계정으로 다음 명령을 수행합니다.
make install
주의
Berkeley DB 를 백엔드로 사용한 이전 설치에서 업그레이드 하는 경우 slapcat 유틸리티를 사용하여 데이터베이스를 덤프하고 /var/lib/openldap 의 모든 파일을 재배치하고 bdb 의 모든 인스턴스를 /etc 의 mdb 로 변경해야합니다. /openldap/slapd.conf 및 /etc/openldap/slapd.d 에 있는 모든 파일을 보관하고 설치가 완료된 후 slapadd 유틸리티를 사용하여 가져옵니다.
slapd 데몬이 시작된 후에는 slapd 데몬을 제어 할 수 있는 전용 사용자와 그룹이 있어야합니다.
root 사용자로 다음 명령을 실행하십시오.
groupadd -g 83 ldap &&
useradd -c "OpenLDAP Daemon Owner" \
-d /var/lib/openldap -u 83 \
-g ldap -s /bin/false ldap
다음 명령들을 실행하여 OpenLDAP 를 설치 할 수 있습니다.
patch -Np1 -i ../openldap-2.4.45-consolidated-1.patch && autoconf &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--disable-static \
--disable-debug \
--with-tls=openssl \
--with-cyrus-sasl \
--enable-dynamic \
--enable-crypt \
--enable-spasswd \
--enable-slapd \
--enable-modules \
--enable-rlookups \
--enable-backends=mod \
--disable-ndb \
--disable-sql \
--disable-shell \
--disable-bdb \
--disable-hdb \
--enable-overlays=mod &&make depend &&
make
검사 결과가 약해 보입니다. 오류는 타이밍 문제로 인해 테스트가 완료되기 전에 중단 될 수 있습니다. 테스트는 약 65 분이 걸리고 프로세서 독립적입니다. 결과를 테스트하려면 make test 를 실행하십시오.
이제, root 계정으로 다음 명령을 수행합니다.
make install &&
install -v -dm700 -o ldap -g ldap /var/lib/openldap &&
install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &&
chmod -v 640 /etc/openldap/slapd.{conf,ldif} &&
chown -v root:ldap /etc/openldap/slapd.{conf,ldif} &&
install -v -dm755 /usr/share/doc/openldap-2.4.45 &&
cp -vfr doc/{drafts,rfc,guide} \
/usr/share/doc/openldap-2.4.45
Command Explanations
--disable-static
: 이 스위치는 정적 버전의 라이브러리 설치를 방지합니다.
--disable-debug
: 이 스위치는 OpenLDAP 에서 디버깅 코드를 비활성화합니다.
--enable-dynamic
: 이 스위치는 OpenLDAP 라이브러리가 실행 가능 프로그램에 동적으로 연결되게합니다.
--enable-crypt
: 이 스위치를 사용하면 crypt (3) 암호를 사용할 수 있습니다.
--enable-spasswd
: 이 스위치는 SASL 암호 확인을 활성화합니다.
--enable-modules
: 이 스위치는 동적 모듈을 지원합니다.
--enable-rlookups
: 이 스위치를 사용하면 클라이언트 호스트 이름을 역방향 조회 할 수 있습니다.
--enable-backends
: 이 스위치는 사용 가능한 모든 백엔드를 활성화합니다.
--enable-overlays
: 이 스위치는 사용 가능한 모든 오버레이를 활성화합니다.
--disable-ndb
: 이 스위치는 MySQL이 있는 경우 configure 가 실패하게 하는 MySQL NDB Cluster 백엔드를 비활성화합니다.
--disable-sql
: 이 스위치는 SQL 백엔드를 명시 적으로 비활성화합니다. SQL 서버가 설치되어 있고 SQL 백엔드를 사용하려는 경우이 스위치를 생략하십시오.
--libexecdir=/usr/lib
: 이 스위치는 /usr/lib/openldap 디렉토리가 설치된 위치를 제어합니다. 이 디렉토리의 모든 것은 라이브러리이므로 /usr/libexec 대신 /usr/lib 에 속합니다.
--enable-slp
: 이 스위치는 SLPv2를 지원합니다. OpenSLP를 설치 한 경우 사용하십시오.
노트
./configure --help 를 실행하여 다른 옵션 또는 종속성 패키지를 활성화하기 위해 configure 명령에 전달 할 수 있는 다른 스위치가 있는지 확인 할 수 있습니다.
install ..., chown ..., chmod ... : 누구나 읽을 수 있는 /var/lib/openldap 에 있는 slapd 설정 파일과 ldap 데이터베이스는 보안 문제입니다. 특히 파일에 일반 텍스트로 관리자 비밀번호가 저장되어 있습니다. 이것이 모드 640 과 루트 : ldap 소유권이 사용 된 이유입니다. 소유자는 root 이므로 root 만이 파일을 수정 할 수 있고 group 은 ldap 이므로 slapd 데몬을 소유 한 그룹은 보안 위반시 파일을 읽을 수는 있지만 수정 할 수는 없습니다.
Configuring OpenLDAP
Config Files
/etc/openldap/*
구성 정보
slapd 서버 구성은 복잡 할 수 있습니다. LDAP 디렉토리를 보호하는 것은 특히 암호 데이터베이스와 같은 비공개 데이터를 저장하는 경우에 특히 어려울 수 있습니다. 특정 요구에 맞게 OpenLDAP를 설정하려면 /etc/openldap/slapd.conf 및 /etc/openldap/ldap.conf 파일을 수정해야합니다.
Note
위의 지침은 빈 LDAP 구조와 기본 /etc/openldap/slapd.conf 파일을 설치 합니다. 이 파일은 LDAP 을 사용하여 빌드 및 기타 패키지를 테스트하는 데 적합 합니다. 프로덕션 서버에서는 사용하지 마십시오.
디렉토리 구성 선택, 백엔드 및 데이터베이스 정의, 액세스 제어 설정, 루트가 아닌 사용자로 실행 및 chroot 환경 설정과 같은 주제를 다루는 데 도움이 되는 리소스는 다음과 같습니다.
The slapd man page.
The
slapd.conf
man page.The OpenLDAP 2.4 Administrator's Guide (also installed locally in
/usr/share/doc/openldap-2.4.45/guide/admin
).Documents located at http://www.openldap.org/pub/.
Mozilla Address Directory (모질라 AD)
기본적으로 LDAPv2 지원은 slapd.conf 파일에서 비활성화되어 있습니다. 데이터베이스가 제대로 설정되고 Mozilla 가 디렉토리를 사용하도록 구성되면 allow bind_v2 를 slapd.conf 파일에 추가해야 합니다.
Boot Script
시스템 부트시 LDAP 서버의 시작을 자동화하려면 다음 명령을 사용하여 blfs-bootscripts-20180105 패키지에 포함 된 /etc/rc.d/init.d/slapd init script 를 설치하십시오.
make install-slapd
Note
특정 구성에 필요한 매개 변수를 포함하도록 /etc/sysconfig/slapd 를 수정해야 합니다. 매개변수 정보는 slapd 메인 페이지를 참조하십시오.
구성 테스트
init 스크립트를 사용하여 LDAP 서버를 시작하십시오.
/etc/rc.d/init.d/slapd start
다음 명령을 사용하여 LDAP 서버에 대한 액세스 권한을 확인하십시오.
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
예상되는 결과는 다음과 같습니다.
# extended LDIF # # LDAPv3 # base <> with scope baseObject # filter: (objectclass=*) # requesting: namingContexts # # dn: namingContexts: dc=my-domain,dc=com # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
주요내용
Installed Programs: ldapadd, ldapcompare, ldapdelete, ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl, ldapwhoami, slapacl, slapadd, slapauth, slapcat, slapd, slapdn, slapindex, slappasswd, slapschema, and slaptest
Installed Libraries: liblber.so, libldap.so, libldap_r.so, and several under /usr/lib/openldap
Installed Directories: /etc/openldap, /{usr,var}/lib/openldap, and /usr/share/doc/openldap-2.4.45
Short Descriptions
ldapadd | LDAP 서버에 대한 연결을 열고 항목을 바인드하고 추가합니다. |
ldapcompare | LDAP 서버에 대한 연결을 열고 지정된 매개 변수를 사용하여 비교를 수행하고 비교를 수행합니다. |
ldapdelete | LDAP 서버에 대한 연결을 열고 하나 이상의 항목을 바인드하고 삭제합니다. |
ldapexop | oid 또는 특수 키워드 whoami, cancel 또는 refresh 중 하나에 의해 지정된 LDAP 확장 작업을 실행합니다. |
ldapmodify | LDAP 서버에 대한 연결을 열고 항목을 바인드하고 수정합니다. |
ldapmodrdn | LDAP 서버에 대한 연결을 열고 항목의 RDN을 바인드하고 수정합니다. |
ldappasswd | LDAP 사용자의 비밀번호를 설정하는 데 사용되는 도구입니다. |
ldapsearch | LDAP 서버에 대한 연결을 열고, 지정된 매개 변수를 사용하여 바인드하고 검색을 수행합니다. |
ldapurl | LDAP URI를 작성하거나 분해 할 수있는 명령입니다. |
ldapwhoami | LDAP 서버에 대한 연결을 열고 Whoami 정보를 바인딩하고 표시합니다. |
slapacl | 해당 구성에 정의 된 액세스 제어 목록 지시문에 따라 디렉토리 데이터에 대한 액세스를 확인하여 slapd 의 동작을 확인하는 데 사용됩니다. |
slapadd | LDIF (LDAP Directory Interchange Format)에 지정된 항목을 LDAP 데이터베이스에 추가하는 데 사용됩니다. |
slapauth | slapd.conf 에 지정된 대로 인증 및 권한 부여 목적으로 ID를 매핑 할 때 slapd 의 동작을 확인하는 데 사용됩니다. |
slapcat | slapd 데이터베이스의 내용을 기반으로 LDAP LDIF 출력을 생성하는 데 사용됩니다. |
slapd | 독립형 LDAP 서버입니다. |
slapdn | 스키마 구문을 기반으로 문자열로 표시된 DN 목록을 확인합니다. |
slapindex | 데이터베이스의 현재 내용을 기반으로 slapd 색인을 재생성 하는 데 사용됩니다. |
slappasswd | OpenLDAP 암호 유틸리티입니다. |
slapschema | slapd 데이터베이스의 내용에 대한 스키마 준수를 검사하는 데 사용됩니다. |
slaptest | slapd.conf 파일의 온 전성을 검사합니다. |
경량 기본 인코딩 규칙 루틴 집합입니다. 이러한 루틴은 LDAP 라이브러리 루틴이 LDAP 에 정의된 (약간 단순화 된) 기본 인코딩 규칙을 사용하여 LDAP 프로토콜 요소를 인코딩 및 디코딩 하는 데 사용됩니다. 제어 및 확장 조작의 처리를 제외하고는 일반적으로 LDAP 응용 프로그램에서 직접 사용하지 않습니다. | |
LDAP 프로그램을 지원하고 LDAP 와 상호 작용하는 다른 프로그램을 위한 기능을 제공합니다. | |
LDAP 요청에서 결과를 생성하기 위해 LDAP 프로그램에 필요한 기능을 포함합니다. |
Last updated on 2018-02-21 16:44:26 -0600