"LDAP"의 두 판 사이의 차이
(새 문서: == 설치 == $ sudo apt-get update $ sudo apt-get install slapd ldap-utils === 재설정 === $ sudo dpkg-reconfigure slapd) |
(→서비스 중지) |
||
(사용자 2명의 중간 판 24개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | == | + | ==개요== |
− | + | 네트워크의 파일이나 장치의 위치를 찾을 때 사용하는 프로토콜, DAP(Directory Access Protocol)의 경량판 | |
+ | [[파일:Directory-tree-hierachial.png|섬네일|LDAP 디렉토리 구조http://quark.humbug.org.au/publications/ldap/images/directory-tree-hierachial.png]] | ||
− | + | ===엔트리 종류=== | |
− | === 재설정 === | + | *CN(Common Name): 일반 이름 |
− | $ sudo dpkg-reconfigure slapd | + | *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:===== | ||
+ | <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에 대하여 허용할지 여부) | ||
+ | |||
+ | ====설정파일을 통한 방법==== | ||
+ | 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 | ||
+ | |||
+ | [[분류:Ldap]] |
2022년 4월 10일 (일) 02:03 기준 최신판
목차
개요[편집 | 원본 편집]
네트워크의 파일이나 장치의 위치를 찾을 때 사용하는 프로토콜, DAP(Directory Access Protocol)의 경량판
엔트리 종류[편집 | 원본 편집]
- 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