1. 程式人生 > >OpenLDAP2.4.44安裝和配置

OpenLDAP2.4.44安裝和配置

背景:由於公司現有的sso(單點登入)對應的驗證方式是訪問資料庫比較繁瑣,考慮到以後跟別的公司對接時賬號不一致,故想看看是否存在一個標準的解決方案,那麼標準的目錄協議(LDAP)出現了,用來解決sso 使用者驗證,只要以後對接的公司將對應的使用者寫入到LDAP即可。

openLDAP 常用名詞解釋

o– organization(組織-公司)
ou – organization unit(組織單元/部門)
c - countryName(國家)
dc - domainComponent(域名元件)
sn – suer name(真實名稱)
cn - common name(常用名稱)
dn - distinguished name(專有名稱)

注意事項:OpenLDAP不同版本之間配置不一樣,此文章基於OpenLDAP2.4.44,網上好多文章寫的缺胳膊少腿,下面基於實際驗證的。

OpenLDAP2.4.44安裝和配置


安裝前系統設定

1、防火牆設定
centos7.0預設防火牆為firewalld
#停止firewall
# systemctl stop firewalld.service

#禁止firewall開機啟動
# systemctl disable firewalld.service

檢視預設防火牆狀態:
# firewall-cmd --state

2、修改selinux
# vi /etc/selinux/config
將SELINUX=enforcing改為:SELINUX=disabled
# setenforce 0   或者重啟,注意敲黑板重點,之前沒有執行改命令然後導致LDAP一直啟動不成功,耗費了很長一段時間。

一、安裝OpenLDAP

1、安裝
yum install -y openldap openldap-clients openldap-servers migrationtools

2、設定OpenLDAP管理密碼。
slappasswd
New password: linux123
Re-enter new password: linux123
{SSHA}r2fcL6Exxgr8oKkaWROUQDCZKqXrH7bE

3、修改根DN與新增密碼
vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

修改內容:
olcSuffix: dc=domian,dc=com
olcRootDN: cn=root,dc=domian,dc=com
新增內容:
olcRootPW: {SSHA}r2fcL6Exxgr8oKkaWROUQDCZKqXrH7bE

備註:密碼就是{ssha}和後面的那一串,此處使用上面生成的密碼替換。

4、修改驗證
vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al,cn=auth" read by dn.base="cn=root,dc=domain,dc=com" read by * none

5、配置DB資料庫
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap

6、驗證
slaptest -u
看見:config file testing succeeded  #驗證成功,否則失敗。

7、授權,若不授權啟動時或報錯,許可權不足
chown ldap:ldap -R /var/run/openldap
chown -R ldap:ldap /etc/openldap/

8、啟動
systemctl start slapd
systemctl enable slapd

9、執行ldapsearch -x檢查是否有如下輸出
ldapsearch -x -b '' -s base'(objectclass=*)'

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#

#
dn:
objectClass: top
objectClass: OpenLDAProotDSE

# search result
search: 2
result: 0 Success

如顯示上面資訊,表示服務已經啟動成功。


二、建立管理員賬號

1、編輯ldif檔案

vi base.ldif

dn: dc=domain,dc=com
o: domain com
dc: domain
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=root,dc=domain,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager

dn: ou=People,dc=domain,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=domain,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

2、匯入資料庫
ldapadd -x -D "cn=root,dc=domain,dc=com" -W -f base.ldif 

還可以用LDAP ADMIN工具直接import,也是可以的,LDAP admin(視覺化工具)下載路徑見文章末尾。

3、驗證
ldapsearch -x -b 'dc=domain,dc=com' '(objectClass=*)'


三、OpenLDAP管理工具(LDAP Admin)

連線資料庫
點選connect,選擇new connection

輸入Host地址,Port預設為389(注意防火牆是否開放389埠)
Base DN處"dc=domain,dc=com",
Mechanism選擇"Simple",
username處輸入"cn=root,dc=domain,dc=com",
Password處填寫相應密碼,儲存密碼,
點選"完成"即建立成功。 如下圖所示

至此就LDAP就搭建成功,LDAP Admin的下載路徑,下篇文章將介紹 cas server 如何用普通的資料庫以及LDAP進行使用者驗證。