"LDAP"의 두 판 사이의 차이

wwiki
이동: 둘러보기, 검색
(config path)
(서비스 중지)
 
(같은 사용자의 중간 판 8개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
==개요==
 
==개요==
 
네트워크의 파일이나 장치의 위치를 찾을 때 사용하는 프로토콜, DAP(Directory Access Protocol)의 경량판
 
네트워크의 파일이나 장치의 위치를 찾을 때 사용하는 프로토콜, DAP(Directory Access Protocol)의 경량판
[[파일:Directory-tree-hierachial.png|섬네일|LDAP 디렉토리 구조
+
[[파일:Directory-tree-hierachial.png|섬네일|LDAP 디렉토리 구조http://quark.humbug.org.au/publications/ldap/images/directory-tree-hierachial.png]]
 
 
http://quark.humbug.org.au/publications/ldap/images/directory-tree-hierachial.png]]
 
  
 
===엔트리 종류===
 
===엔트리 종류===
9번째 줄: 7번째 줄:
 
*CN(Common Name): 일반 이름
 
*CN(Common Name): 일반 이름
 
*SN(Surname): family name
 
*SN(Surname): family name
*ou(organizationalUnitName)
+
*OU(organizational Unit Name)
*DN(distinguishedName): uid=bmarshal의 DN(dn="uid=bmarshal,ou=People,dc=pisoftware,dc=com")
+
*DN(distinguished Name): uid=ceo의 DN(dn="uid=ceo,ou=People,dc=naver,dc=com")
 +
* DC = Domain Component
  
 
===Object Classes===
 
===Object Classes===
18번째 줄: 17번째 줄:
  
 
==openldap 설치==
 
==openldap 설치==
$ sudo apt-get update
+
$ sudo apt-get update
  
$ sudo apt-get install slapd ldap-utils
+
$ sudo apt-get install slapd ldap-utils
  
 
===버전 체크===
 
===버전 체크===
$ slapd -VV
+
$ slapd -VV
  
 
===재설정===
 
===재설정===
  
 
====패키지 재설정을 통한 방법====
 
====패키지 재설정을 통한 방법====
$ sudo dpkg-reconfigure slapd
+
$ sudo dpkg-reconfigure slapd
 +
 
 +
=====Omit OpenLDAP server configuration?=====
 +
NO (설정을 생략하지 않고)
 +
 
 +
=====DNS domain name:=====
 +
example.com (dc=example,dc=com이 된다)
 +
 
 +
=====Organization name:=====
 +
[조직명] (Base DN이 사용할 조직이름을 넣는다.)
 +
 
 +
=====Administrator password:=====
 +
<nowiki>****</nowiki> (admin 엔트리의 비밀번호를 넣는다.)
 +
 
 +
=====Database backend to use:=====
 +
HDB (사용할 데이터베이스는 권장하는 HDB를 넣는다.)
 +
 
 +
=====Do you want the database to be removed when slapd is purged?=====
 +
NO (slapd를 삭제할 때 데이터베이스도 삭제할지 여부)
 +
 
 +
=====Move old database?=====
 +
YES (현재 데이터베이스를 백업 디렉토리(/var/backups)로 이동할지 여부
 +
 
 +
=====Allow LDAPv2 protocol?=====
 +
NO (오래된 버전 2에 대하여 허용할지 여부)
  
 
====설정파일을 통한 방법====
 
====설정파일을 통한 방법====
42번째 줄: 65번째 줄:
  
 
==서비스 상태 확인==
 
==서비스 상태 확인==
$ service slapd status
+
$ service slapd status
  
 
==command line tool==
 
==command line tool==
$ apt install ldap-utils
+
$ apt install ldap-utils
  
 
===command===
 
===command===
  
 
====ldap확인====
 
====ldap확인====
ldapsearch -x
+
ldapsearch -x
 +
 
 +
==GUI tool==
 +
 
 +
===[[phpLDAPadmin]]===
  
 
==백업==
 
==백업==
  
 
===설정백업===
 
===설정백업===
$ sudo slapcat -b cn=config -l ldap-config-YYYYMMDD.ldif
+
$ sudo slapcat -b cn=config -l ldap-config-YYYYMMDD.ldif
  
 
===계정백업===
 
===계정백업===
$ sudo slapcat -l ldap-YYYYMMDD.ldif
+
$ sudo slapcat -l ldap-YYYYMMDD.ldif
 
 
 
참고사이트: https://milestone-of-se.nesuke.com/l7protocol/ldap/slapcat-options/
 
참고사이트: https://milestone-of-se.nesuke.com/l7protocol/ldap/slapcat-options/
  

2022년 4월 10일 (일) 02:03 기준 최신판

개요[편집 | 원본 편집]

네트워크의 파일이나 장치의 위치를 찾을 때 사용하는 프로토콜, DAP(Directory Access Protocol)의 경량판

LDAP 디렉토리 구조http://quark.humbug.org.au/publications/ldap/images/directory-tree-hierachial.png

엔트리 종류[편집 | 원본 편집]

  • CN(Common Name): 일반 이름
  • SN(Surname): family name
  • OU(organizational Unit Name)
  • DN(distinguished Name): uid=ceo의 DN(dn="uid=ceo,ou=People,dc=naver,dc=com")
  • DC = Domain Component

Object Classes[편집 | 원본 편집]

모든 엔트리 들은 하나하나의 Objectclass 를 갖는다. Objectclass 란 동일한 설정을 갖고 있는 일종의 그룹이라고 이해를 하면 될 것 같습니다.

새로운 엔트리가 생성될 때, 특정한 Objectclass에 속하는 엔트리로 생성을 하게 되면 해당 Objectclass의 속성을 그대로 상속받게 되는 원리 .

openldap 설치[편집 | 원본 편집]

$ sudo apt-get update
$ sudo apt-get install slapd ldap-utils

버전 체크[편집 | 원본 편집]

$ slapd -VV

재설정[편집 | 원본 편집]

패키지 재설정을 통한 방법[편집 | 원본 편집]

$ sudo dpkg-reconfigure slapd
Omit OpenLDAP server configuration?[편집 | 원본 편집]

NO (설정을 생략하지 않고)

DNS domain name:[편집 | 원본 편집]

example.com (dc=example,dc=com이 된다)

Organization name:[편집 | 원본 편집]

[조직명] (Base DN이 사용할 조직이름을 넣는다.)

Administrator password:[편집 | 원본 편집]

**** (admin 엔트리의 비밀번호를 넣는다.)

Database backend to use:[편집 | 원본 편집]

HDB (사용할 데이터베이스는 권장하는 HDB를 넣는다.)

Do you want the database to be removed when slapd is purged?[편집 | 원본 편집]

NO (slapd를 삭제할 때 데이터베이스도 삭제할지 여부)

Move old database?[편집 | 원본 편집]

YES (현재 데이터베이스를 백업 디렉토리(/var/backups)로 이동할지 여부

Allow LDAPv2 protocol?[편집 | 원본 편집]

NO (오래된 버전 2에 대하여 허용할지 여부)

설정파일을 통한 방법[편집 | 원본 편집]

OpenLDAP 2/3 이후부터는(2.4.23 버전부터) cn=config라는 전용 DIT에 설정 항목을 저장함으로써 데몬 재구동 없이도 설정 변경을 적용하는 OLC(On-Line Configuration)을 채택하고 있다.

config path[편집 | 원본 편집]

/etc/ldap/ldap.conf

debian 계열의 경로이며 배포판마다 조금씩 다르다.

database path[편집 | 원본 편집]

/var/lib/ldap

서비스 상태 확인[편집 | 원본 편집]

$ service slapd status

command line tool[편집 | 원본 편집]

$ apt install ldap-utils

command[편집 | 원본 편집]

ldap확인[편집 | 원본 편집]

ldapsearch -x

GUI tool[편집 | 원본 편집]

phpLDAPadmin[편집 | 원본 편집]

백업[편집 | 원본 편집]

설정백업[편집 | 원본 편집]

$ sudo slapcat -b cn=config -l ldap-config-YYYYMMDD.ldif

계정백업[편집 | 원본 편집]

$ sudo slapcat -l ldap-YYYYMMDD.ldif

참고사이트: https://milestone-of-se.nesuke.com/l7protocol/ldap/slapcat-options/

복원[편집 | 원본 편집]

서비스 중지[편집 | 원본 편집]

$ sudo service slapd stop

$ mkdir -m 755 /etc/ldap/slapd.d

$ mv /etc/ldap/slapd.d/ etc/ldap/slapd.d_old

$ mv /var/lib/ldap /var/lib/ldap_old

$ mkdir -m 755 /var/lib/ldap

$ cp /usr/share/slapd/DB_CONFIG /var/lib/ldap/

$ chown openldap:openldap /var/lib/ldap/DB_CONFIG

$ slapadd -n 0 -F /etc/ldap/slapd.d -l /ldap-config-YYYYMMDD.ldif

$ slapadd -l ldap-YYYYMMDD.ldif

$ chown -R openldap:openldap /etc/ldap/slapd.d

$ chown -R openldap:openldap /var/lib/ldap

$ service slapd start