1. 관련 프로그램 설치
기본 레파지토리에는 openldap-servers가 존재하지 않으므로 레피지토리에 추가
# dnf config-manager --set-enabled plus
# dnf repolist
# dnf update
# dnf -y install openldap openldap-servers openldap-clients
# systemctl enable slapd
# systemctl start slapd
# firewall-cmd --permanent --add-service={ldap,ldaps}
# firewall-cmd --reload
2. 관리자 패스워드 설정
# slappasswd
New password : *******
Re-enter new password : *******
{SSHA}*********************************** <--복사필요
# vi admin_pass.ldif
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}*********************************** <--위화면 패스워드 붙여넣기
# ldapadd -Y EXTERNAL -H ldapi:/// -f admin_pass.ldif <--루트 패스워드를 변경함.
3. Base DN을 설정
# vi base_structure.ldif
# base_structure.ldif
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=example,dc=com
# ldapadd -Y EXTERNAL -H ldapi:/// -f base_structure.ldif <--적용
4. 기본 스키마 로드
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
5. 기본 조직 설정
# vi initial_org.ldif
# 조직의 루트 DIT(Directory Information Tree) 항목 정의
# dc=example,dc=com은 설치 시 설정한 기본 도메인에 맞춰 변경해야 합니다.
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: My Company
description: My Company's main LDAP directory
# 사용자들을 위한 조직 구성 단위(OU) 정의
dn: ou=users,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: users
description: All user accounts in My Company
# 그룹들을 위한 조직 구성 단위(OU) 정의
dn: ou=groups,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: groups
description: All user groups in My Company
# 부서들을 위한 조직 구성 단위(OU) 정의
dn: ou=departments,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: departments
description: Departments within My Company
# IT 부서 OU 정의 (부서 OU 아래에 위치)
dn: ou=IT,ou=departments,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: IT
description: Information Technology Department
# HR 부서 OU 정의 (부서 OU 아래에 위치)
dn: ou=HR,ou=departments,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: HR
description: Human Resources Department
# ldapadd -x -W -D "cn=admin,dc=example,dc=com" -f initial_org.ldif
※ 패스워드는 이전에 설정한 관리자 패스워드를 입력
6. Base Dn : cn=admin,dc=example,dc=com , 관리자 패스워드 사용하여 관리 가능
- 사용자 추가(HR 부서의 홍길동)
# slappassword <--사용할 패스워드의 해시값으로 변환
New password: 홍길동
Re-enter new password: 홍길동
{SSHA}48cA5xSMTaz61+xo46Ek17DC07rapLtJ <-- 해시값 복사
# vi add_hong.ldif
dn: uid=honggildong,ou=HR,ou=departments,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: 홍길동
sn: 홍
givenName: 길동
mail: hong.gildong@example.com
uid: honggildong
userPassword: {SSHA}48cA5xSMTaz61+xo46Ek17DC07rapLtJ
# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f add_hong.ldif
- Apache Directory Studio 프로그램에서 보면 정상적으로 추가되었음을 볼 수 있음.
댓글 없음:
댓글 쓰기