리눅스마스터1급 : LDAP 서버 설치와 설정하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,275 조회
- 0 추천
- 목록
본문
리눅스마스터1급 : LDAP 서버 설치와 설정하기
1) OpenLDAP 서버 설치
OpenLDAP은 대부분의 리눅스 배포판에서 패키지 형태로 제공되며, 설치 및 업데이트 도구를 통해 쉽게 설치할 수 있다.
다음과 같은 방법으로 설치하자.
|
|
|
| yum install openldap openldap-servers openldap-clients |
|
|
|
|
2) OpenLDAP 서버 설정
① OpenLDAP 관리자 비밀번호 생성
|
|
|
| [root@SULinux-64Bit ~]# slappasswd New password: 비밀번호 Re-enter new password: 비밀번호 {SSHA}AS4d0W6HcCVurbmsVP3kWx7DYFcblAYS |
|
|
|
|
위 명령어로 비밀번호를 생성한다.
생성된 결과는 다음 설정파일에 붙여 넣을 것이다.
② OpenLDAP 서버 설정파일 수정
OpenLDAP 서버의 설정파일은 /etc/openldap/slapd.conf 이다.
다음 내용을 수정한다.
|
|
|
| uffix "dc=my-domain,dc=com" rootdn "cn=Manager,dc=my-domain,dc=com" ==> suffix "dc=sulinux,dc=net" rootdn "cn=Manager,dc=sulinux,dc=net" |
|
|
|
|
조직의 도메인을 설정하는 것이며, 꼭 DNS 도메인일 필요는 없지만, 비슷하게 하는 경우가 많이 있다.
예제는 sulinux.net 도메인을 사용하였다.
③ OpenLDAP 서버 시작
OpenLDAP 서비스를 시작하고, 서버 부팅 시 자동시작 될 수 있게 다음과 같이 설정한다.
|
|
|
| [root@SULinux-64Bit sysconfig]# service ldap start slapd (을)를 시작 중: [ OK ] [root@SULinux-64Bit sysconfig]# chkconfig ldap on |
|
|
|
|
④ 조직 구성 설정
이렇게 OpenLDAP 서버를 시작하였다면, 최상위 도메인 정보 외에는 아무런 정보가 없다.
리눅스 서버의 group, passwd, shadow 정보와 비슷하게 부서를 구성해 보자.
먼저 /root/base.ldif 파일을 다음 내용으로 작성한다.
|
|
|
| dn: dc=sulinux,dc=net dc: sulinux objectClass: top objectClass: domain
dn: ou=People,dc=sulinux,dc=net ou: People objectClass: top objectClass: organizationalUnit
dn: ou=Group,dc=sulinux,dc=net ou: Group objectClass: top objectClass: organizationalUnit |
|
|
|
|
"dc=sulinux,dc=net" 엔트리를 추가하고, 하위에 People 과 Group 엔트리를 추가한다.
여기서 People는 /etc/passwd, /etc/shadow 내용으로 구성할 것이며, Group은 /etc/group파일의 내용을 넣을 것이다.
다음 명령으로 위 작성한 내용을 LDAP DB에 넣어 보자.
|
|
|
| [root@SULinux-64Bit sysconfig]# ldapadd -x -W -D "cn=Manager,dc=sulinux,dc=net" -f base.ldif Enter LDAP Password: 비밀번호 adding new entry "dc=sulinux,dc=net"
adding new entry "ou=People,dc=sulinux,dc=net"
adding new entry "ou=Group,dc=sulinux,dc=net" |
|
|
|
|
여기서 -x 옵션은 간단한 인증(Simple authentication), -W 옵션은 비밀번호 프롬프트에서 받는다는 것이며, -D 옵션은 DN을 지정하는 옵션이다.
위와같이 3개의 엔트리가 추가 된 결과를 확인할 수 있다.
다음으로 /etc/passwd 파일과, /etc/shadow 파일의 내용과 비슷하게 계정 정보를 생성한다.
이러한 속성타입과 속성은 스키마(/etc/openldap/schema/nis.schema)에 정의가 되어 있다.
다음내용으로 /root/user.ldif 파일을 생성한다.
|
|
|
| dn: uid=sulinux,ou=People,dc=sulinux,dc=net objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: sulinux sn: sulinux givenName: sulinux cn: sulinux displayName: sulinux uidNumber: 501 gidNumber: 501 userPassword: {crypt}8peqVKpwvyrWQ gecos: sulinux loginShell: /bin/bash homeDirectory: /home/sulinux shadowExpire: -1 shadowFlag: 0 shadowWarning: 7 shadowMin: 0 shadowMax: 99999 shadowLastChange: 15844 |
|
|
|
|
다음 명령으로 위 작성한 내용을 LDAP DB에 넣어 보자.
|
|
|
| [root@SULinux-64Bit sysconfig]# ldapadd -x -W -D "cn=Manager,dc=sulinux,dc=net" -f user.ldif Enter LDAP Password: 비밀번호 adding new entry "uid=sulinux,ou=People,dc=sulinux,dc=net" |
|
|
|
|
다음으로 /etc/group 파일의 내용과 비슷하게 그룹 정보를 생성한다.
이러한 속성타입과 속성은 스키마(/etc/openldap/schema/nis.schema)에 정의가 되어 있다.
다음내용으로 /root/group.ldif 파일을 생성한다.
|
|
|
| dn: cn=sulinux,ou=Group,dc=sulinux,dc=net objectClass: posixGroup cn: sulinux gidNumber: 501 |
|
|
|
|
다음 명령으로 위에서 작성한 내용을 LDAP DB에 넣어 보자.
|
|
|
| [root@SULinux-64Bit sysconfig]# ldapadd -x -W -D "cn=Manager,dc=sulinux,dc=net" -f group.ldif Enter LDAP Password: 비밀번호 adding new entry "cn=sulinux,ou=Group,dc=sulinux,dc=net" |
|
|
|
|
|
|
| |||
|
위에서 입력한 것은 사용자에 대한 정보와 그룹에 대한 정보이다.
만약 시스템에 100개의 계정이 등록되어 있다면 어떻게 할까? OpenLDAP은 마이그레이션 프로그램을 제공한다.
perl로 만들어진 스크립트이다.
마이그레이션 프로그램으로 /etc/group파일을 LDIF(LDAP Data Interchange Format)의 파일로 만들어 보자.
실행결과 생성된 group.ldif파일 중 일부 그룹에 대한 내용은 다음과 같다.
이와 비슷하게 migrate_passwd.pl 프로그램으로 사용자 정보를 만들 수 있다.
|
| |||
|
|
|
⑤ OpenLDAP 서버의 데이터 베이스 파일들 확인
|
|
|
| [root@SULinux-64Bit suidc]# tree /var/lib/ldap/ /var/lib/ldap/ |-- __db.001 |-- __db.002 |-- __db.003 |-- __db.004 |-- __db.005 |-- __db.006 |-- alock |-- cn.bdb |-- dn2id.bdb |-- gidNumber.bdb |-- givenName.bdb |-- id2entry.bdb |-- log.0000000001 |-- loginShell.bdb |-- memberUid.bdb |-- objectClass.bdb |-- ou.bdb |-- sn.bdb |-- uid.bdb `-- uidNumber.bdb |
|
|
|
|
위와 같은 디렉토리의 파일들로 LDAP DB가 이뤄져 있다.
관련자료
-
이전
-
다음