본문 바로가기
open source solution

OpenLdap on Centos 8

by open_tracking 2020. 3. 16.

centos 8 / rhel8 / oraclelinux 8

RHEL계열은 모두 아래처럼 설치 됩니다.


기존 ldap 설치되있다면 지워주세요

[root@localhost ]# yum erase openldap-clients openldap-servers
[root@localhost ]# wget -q https://repo.symas.com/configs/SOFL/rhel8/sofl.repo -O /etc/yum.repos.d/sofl.repo

[root@localhost ]# yum install symas-openldap-clients symas-openldap-servers

[root@localhost ]# systemctl start slapd


systemctl start slapd.service        /* LDAP 서비스 시작
systemctl enable slapd.service    /* LDAP서버스 부팅시 자동시작

 

 

slapd 패스워드 등록 과정

slappasswd
New password:
Re-enter new password:
{SSHA}piquc+rkp1MOuwCtzf4L8cEJgpVlm7aN

 

앞서서 확인할 값이 있습니다.

 

[root@localhost schema]# ls /etc/openldap/slapd.d/cn\=config

 

'cn=schema'  'cn=schema.ldif'  

'olcDatabase={-1}frontend.ldif'  

'olcDatabase={0}config.ldif' 

'olcDatabase={1}monitor.ldif'  

'olcDatabase={2}mdb.ldif'

 

앞으로 파일수정할때 앞에 숫자에 주의해주세요

예를들면 해당 컴퓨터에서는 {2}mdb.ldif가 아니고 {2}hdb.ldif로 되어있다면

파일에서 입력할때 mdb가아니고 hdb가 되어야 하겠죠? 다른파일들도 마찬가지고

자신한테 맞게 해야해요.


cd /etc/openldap/schema/

db.ldif 파일 생성 및 수정
olcRootPW 수정시 위에서 slappasswd결과로 나온 값을 입력할 것!

[root@localhost schema]# vi db.ldif

-----------------------------------------------------------------------------------------------------------------------

dn: olcDatabase={2}mdb,cn=config

changetype: modify

replace: olcSuffix

olcSuffix: dc=hope201,dc=co,dc=kr

 

dn: olcDatabase={2}mdb,cn=config

changetype: modify

replace: olcRootDN

olcRootDN: cn=ldapadm,dc= hope201,dc=co,dc=kr

 

dn: olcDatabase={2}mdb,cn=config

changetype: modify

replace: olcRootPW

olcRootPW: {SSHA}piquc+rkp1MOuwCtzf4L8cEJgpVlm7aN

-----------------------------------------------------------------------------------------------------------------------

 

아래와 같이 접속계정 설정을 합니다.

[root@localhost schema]# vi monitor.ldif

-----------------------------------------------------------------------------------------------------------------------

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=ldapadm,dc=hope201,dc=co,dc=kr" read by * none

-----------------------------------------------------------------------------------------------------------------------

[root@localhost schema]# ldapmodify -Y EXTERNAL  -H ldapi:/// -f monitor.ldif

[root@localhost schema]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[root@localhost schema]# chown ldap:ldap /var/lib/ldap/

 

Ldap 스키마를 추가 및 import

 

[root@localhost schema]# ldapmodify -Y EXTERNAL  -H ldapi:/// -f db.ldif 
[root@localhost schema]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
[root@localhost schema]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
[root@localhost schema]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

 


[root@localhost schema]# vi base.ldif

-----------------------------------------------------------------------------------------------------------------------

dn: dc=hope201,dc=co,dc=kr
dc: hope201
GroupobjectClass: top
objectClass: domain

dn: cn=ldapadm, dc=hope201,dc=co,dc=kr
objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager

dn: ou=People, dc=hope201,dc=co,dc=kr
objectClass: organizationalUnit
ou: People

dn: ou=Group, dc=hope201,dc=co,dc=kr
objectClass: organizationalUnit
ou: Group

----------------------------------------------------------------------------------------------------------------------


[root@localhost schema]# ldapadd -x -W -D "cn=ldapadm,dc=hope201,dc=co,dc=kr" -f base.ldif

[root@localhost schema]# vi dreamtest1.ldif

----------------------------------------------------------------------------------------------------------------------

dn: uid=dreamtest1,ou=People,dc=hope201,dc=co,dc=kr
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: dreamtest1
uid: dreamtest1
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/dreamtest1
loginShell: /bin/bash
gecos: dreamtest1 [Admin (at) nGle]
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7

----------------------------------------------------------------------------------------------------------------------

[root@localhost schema]# ldapadd -x -W -D "cn=ldapadm,dc=hope201,dc=co,dc=kr" -f dreamtest1.ldif

[root@localhost schema]# ldappasswd -s (설정패스워드) -W -D "cn=ldapadm,dc=hope201,dc=co,dc=kr" -x "uid=dreamtest1,ou=People,dc=hope201,dc=co,dc=kr"

 

 

LDAP Admin Tool을 윈도우에서 설치해서

해당 LDAP서버 IP로 입력하여 접속해 본다.

(http://www.ldapadmin.org/download/ldapadmin.html)

 

 

아래 예시

위에 과정에서 username에 cn = admin 에서 ldapadm으로 바꿔서 쓰셔요..

제가 생성할때 ldapadm생성했네요..

 

보시면 오른쪽 클릭해서 new -> user하여 사용자 생성 가능합니다.

 

사용자 생성시 home 디렉토리는 

/home/사용자id 입력하시면되고 나머지는 입력하지 않거나 적절히 입력해주세요.

 

계정생성후에 해당 계정 오른쪽 클릭해서 set password 눌러서 설정해주세요.

'open source solution' 카테고리의 다른 글

OpenVPN 클라이언트 사용법  (0) 2020.04.07
OpenVPN+googleOTP  (0) 2020.04.07
packetfence mac auth method 시연  (0) 2020.01.22
Sophos UTM home  (0) 2019.11.07
openLDAP + RADIUS +openVPN  (0) 2019.10.14

댓글