
이전에 openldap을 사용해 본 적이 없는 테스트 openldap 서버를 설정하려고 합니다. 저는 Redhat 기반 시스템(Oracle Linux 사용)에서 표준 openldap-servers 패키지를 사용하고 있습니다. 패키지를 설치하고 서버를 시작했습니다.
이제 나는 실제로 서버가 유용한 작업을 수행하도록 하는 방법을 모릅니다. luma를 사용하여 탐색할 수 없습니다(최상위 항목에 액세스하려고 할 때 '해당 개체 없음'). openldap 문서는 실제로 서버를 기본 작업 구성으로 가져오는 방법과 모든 정보를 온라인으로 얻는 방법에 대해 모호합니다. 새로운 slapd.d 및 cn=config가 아닌 기존 slapd.conf 파일용입니다.
luma에서 루트 DNS를 탐색할 수 있는 바닐라 패키지 openldap 설치가 작동하도록 하려면 어떻게 해야 합니까?
답변1
나는 너의 고통을 느낀다.
다음을 시도해 보십시오(Scientific Linux 6.5에서 테스트되었으므로 OL에서도 작동합니다).
- OpenLDAP 서버 설치:
yum install openldap-servers openldap-clients
) - 시작
slapd
:service slapd start
(아마도chkconfig slapd on
) cn=config
을 사용하여 일반 LDAP 관리자 의 비밀번호를 만듭니다slappasswd
. 이것의 출력에 주목하십시오.- 다음 내용으로 LDIF 파일을 만듭니다.
dn: olcDatabase={0}config,cn=config 변경 유형: 수정 추가: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj dn: olcDatabase={2}bdb,cn=config 변경 유형: 수정 추가: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj - 교체: olcRootDN olcRootDN: cn=관리자,dc=사용자,dc=base,dc=com - 교체: olcSuffix olc접미사: dc=your,dc=base,dc=com
- 값은 앞서 언급
olcRootPW
한 출력으로 바뀌어야 합니다 .slappaswd
- 당연히 새 기본 DN에 맞게 조정되어야 합니다
olcSuffix
.olcRootDN
다음 명령을 사용하여 이 모든 것을 LDAP 서버에 제공합니다.
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif
cn=config
그런 다음 LDAP를 통해 둘 다 에 연결할 수 있어야 합니다 dc=your,dc=base,dc=com
.
답변2
OpenLDAP 서버를 시작하기 전에 먼저 몇 가지 사항을 설정해야 합니다.
기본 구성
기본 DN 정의와 함께 루트 사용자 및 비밀번호를 설정해야 합니다. 에서 slapd.conf
다음 줄을 찾아 원하는 값으로 설정합니다.
suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
일반적으로 기본 DN( suffix
파일에 정의됨)은 도메인 이름의 구성 요소로, 쉼표로 구분되고 접두사가 붙습니다 dc=
. 그래서 serverfault.com
가 될 수도 있습니다 dc=serverfault,dc=com
. 당신은 rootdn
그 접미사 아래에 있어야합니다.
루트 비밀번호를 정의하는 행도 변경해야 합니다. 일반 텍스트 값으로 설정하거나 slappasswd
해시를 생성하는 데 사용할 수 있습니다. 그런 다음 일반 텍스트 값이나 해시된 값을 slappasswd
다음과 같은 줄에 입력해야 합니다 .
rootpw myultrasecurepassword
스키마
이 시점에서 사용하려는 스키마에 대해 생각해 보는 것이 좋습니다. 스키마는 객체가 가질 수 있는 속성을 정의하므로 필요한 속성이 포함된 스키마를 포함해야 합니다. 이러한 스키마는 의 상단에 포함되어 있으며 slapd.conf
여기에 있는 스키마는 일반적으로 필요한 절대 기본 스키마입니다.
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
이 경로는 Arch Linux에서 사용되는 경로이므로 Oracle Linux에 맞게 조정해야 할 수도 있습니다.
slapd.conf
대 소개slapd.d
OpenLDAP는 오프라인 구성( 에서 수행)에서 온라인 구성으로 전환하여 에 있는 slapd.conf
특수 트리에 데이터를 저장합니다 . 그러나 파일을 수정하는 것은 힘든 과정이므로 위와 같이 편집한 다음 새 형식으로 변환하는 것이 훨씬 쉽습니다 .cn=config
slapd.d
ldif
slapd.d
slapd.conf
slapd.d
먼저 slapd.d
. 그런 다음, 다음 명령을 실행하여 Oracle Linux에 대한 경로를 조정하십시오.
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
그런 다음 소유자를 해당 디렉터리의 LDAP 사용자 및 그룹에 반복적으로 설정하면 바로 사용할 수 있습니다. 이 작업은 편집할 때마다 수행해야 합니다 slapd.conf
. 작업을 수행하기 전에 OpenLDAP 서버를 중지하는 것을 잊지 마세요!
초기 실행
실제로 디렉토리를 사용하기 전에 기본 DN(및 루트 사용자)을 생성해야 합니다. .ldif
다음과 유사한 줄을 포함하는 파일을 만듭니다 .
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example
dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root
이제 OpenLDAP 서버를 시작하십시오. 해당 정보를 LDAP 디렉터리에 푸시하면 됩니다.
ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif
분명히 루트 DN과 ldif 파일 이름을 가지고 있는 것과 일치하도록 변경하십시오.
이제 작동 중인 LDAP 디렉토리가 설정되어 채워질 준비가 되었습니다!
Arch Linux 위키는 이 주제에 대한 훌륭한 정보 소스입니다.https://wiki.archlinux.org/index.php/OpenLDAP그리고https://wiki.archlinux.org/index.php/LDAP_Authentication더 알고 싶다면.