OpenLDAP2.4.44安装和配置

开发十年,就只剩下这套Java开发体系了 >>>   hot3.png

背景:由于公司现有的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进行用户验证。

你可能感兴趣的:(OpenLDAP2.4.44安装和配置)