목차
개요
네트워크의 파일이나 장치의 위치를 찾을 때 사용하는 프로토콜, DAP(Directory Access Protocol)의 경량판
엔트리 종류
- CN(Common Name): 일반 이름
- SN(Surname): family name
- ou(organizationalUnitName)
- DN(distinguishedName): uid=bmarshal의 DN(dn="uid=bmarshal,ou=People,dc=pisoftware,dc=com")
Object Classes
모든 엔트리 들은 하나하나의 Objectclass 를 갖는다. Objectclass 란 동일한 설정을 갖고 있는 일종의 그룹이라고 이해를 하면 될 것 같습니다.
새로운 엔트리가 생성될 때, 특정한 Objectclass에 속하는 엔트리로 생성을 하게 되면 해당 Objectclass의 속성을 그대로 상속받게 되는 원리 .
openldap 설치
$ sudo apt-get update
$ sudo apt-get install slapd ldap-utils
버전 체크
$ slapd -VV
재설정
패키지 재설정을 통한 방법
$ sudo dpkg-reconfigure slapd
설정파일을 통한 방법
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
백업
설정백업
$ 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