OpenLDAP搭建部署

安装环境:前端

linu系统:      centos7.2版本java

OenLDAP:/openldap-2.4.44linux

下载地址:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz数据库

BDB : 5.1.29vim

下载地址:http://download.Oracle.com/berkeley-db/db-5.1.29.tar.gzcentos

安装方式;安全

      #yum安装就不说了 bash

1、源码安装服务器

1.DBD安装oracle

#yum install *ltdl* -y                                                                        #安装依赖包
#cd /usr/local/src/
#tar -zxvf db-5.1.29.tar.gz
#cd db-5.1.29/build_unix/
#../dist/configure --prefix=/usr/local/berkeleydb-5.1.29
#make
#make install
 
2.更新lib库
#cd /usr/local/src/
#echo "/usr/local/berkeleydb-5.1.29/lib/" > /etc/ld.so.conf
#ldconfig -v
 
3.OpenLDAP安装
#cd /usr/local/src/
#tar -zxvf openldap-2.4.44.tgz
#cd openldap-2.4.44
# ./configure --prefix=/usr/local/openldap-2.4.44 --enable-syslog
#--enable-modules --enable-debug --with-tls CPPFLAGS=-I/usr/local/
#berkeleydb-5.1.29/include/ LDFLAGS=-L/usr/local/berkeleydb-5.1.29/lib/
#make depend
#make test
#make install
 
4.设置可执行命令
#cd /usr/local/openldap-2.4.44
#ln -s /usr/local/openldap-2.4.44/bin/* /usr/local/bin/
#ln -s /usr/local/openldap-2.4.44/sbin/* /usr/local/sbin/
 
2、配置
1.建立管理员密码(rootdn)
  {SSHA}K9+WK/t1e0V0K6pUMOyTsaTwkDBNEDiP                                                         #这样rootdn密码为密文方式,复制输出密文到主配置文件rootdn对应的位置便可
 
2.日志,日志级别,域名,管理员密码,schema等配置
   #cd /usr/local/openldap-2.4.44/etc/openldap/
   #vim slapd.conf
 
 1 include /usr/local/openldap-2.4.44/etc/openldap/schema/collective.schema
 2 include /usr/local/openldap-2.4.44/etc/openldap/schema/corba.schema
 3 include /usr/local/openldap-2.4.44/etc/openldap/schema/cosine.schema
 4 include /usr/local/openldap-2.4.44/etc/openldap/schema/duaconf.schema
 5 include /usr/local/openldap-2.4.44/etc/openldap/schema/dyngroup.schema
 6 include /usr/local/openldap-2.4.44/etc/openldap/schema/inetorgperson.schema
 7 include /usr/local/openldap-2.4.44/etc/openldap/schema/java.schema
 8 include /usr/local/openldap-2.4.44/etc/openldap/schema/misc.schema
 9 include /usr/local/openldap-2.4.44/etc/openldap/schema/nis.schema
10 include /usr/local/openldap-2.4.44/etc/openldap/schema/openldap.schema
11 include /usr/local/openldap-2.4.44/etc/openldap/schema/pmi.schema
12 include /usr/local/openldap-2.4.44/etc/openldap/schema/ppolicy.schema
schema文件

 loglevel 256                                                                                                                         #新增日志级别,须要在编译时--enable-debug,不然日志文件输出,不影响调试模式;

 logfile /usr/local/openldap-2.4.44/var/slapd.log                                                                   #新增日志路径

 suffix "dc=lohogames,dc=com"                                                                                           #后缀通常写域名

 rootdn "cn=root,dc=lohogames,dc=com"                                                                            #管理员用户

 rootpw {SSHA}K9+WK/t1e0V0K6pUMOyTsaTwkDBNEDiP                                               #管理员密码配置

 3.初始化数据
 1 vim lohogames.ldif
 2 dn: dc=lohogames,dc=com                                                                     #全局惟一标识条目
 3 dc: lohogames                                                                                #domainComponent(域名)
 4 objectclass: domain                                                                          #指定这个对象类是一个根
 5   
 6 dn: ou=zabbix,dc=lohogames,dc=com
 7 ou: zabbix                                                                                   # ou-> organization unit(组织单元-部门)
 8 objectclass: organizationalUnit                                                              # 指定对象类是一个组织/部门
 9   
10 dn: cn=mazhongyue,ou=zabbix,dc=lohogames,dc=com
11 cn: mazhongyue                                                                               #指一个对象的名字。若是指人,须要使用其全名
12 sn: MAZHONGYUE                                                                               #指一我的的姓
13 uid: mazhongyue                                                                              #userid,一般指某个用户的登陆名,与Linux系统中用户的uid不一样。
14 userPassword: Kod@2011                                                                       #用户登录密码
15 objectclass: inetOrgperson                                                                   #指定这个对象类/条目是普通用户的属性
16   
17 dn: cn=fuyufei,ou=zabbix,dc=lohogames,dc=com
18 cn: fuyufei
19 sn: FUYUFEI
20 uid: fuyufei
21 userPassword: loho@2017
22 objectclass: inetOrgperson
测试数据

 #用户必须具有uid属性,要不接入开源服务的时候用户没法登录开源服务(例如:zabbix)

 4.启动OpenLDAP

 /usr/local/openldap-2.4.44/libexec/slapd -d 256                                                                    #在前端打印数据信息

 ldapadd -x -D "cn=root,dc=lohogamesi,dc=com" -W -f test2.ldif                                           #把ldif数据插入到OpenLDAP数据库当中

 #dapsearch -x -D "cn=root,dc=lohogames,dc=com" -w ldap b dc=lohogames,dc=com       #查看数据是否存在

 -x:进行简单的验证

 -D:管理员用户

 -w:密码

 -b:指定范围

dc=lohogames,dc=com                                                                                                         #表示从树根开始整个ldap用户

3.关闭匿名登录设置

  #出于安全考虑禁止非正式用户访问

    在主配置文件slapd.conf中,加入disallow bind_anon                                                      #重启生效

4.普通用户能够修改本身的密码及用户只能看到本身

  #为了工做方便,普通用户自行修改本身的密码

 #出于安全考虑,用户只能看到本身看不到其余人的信息

 

access to attrs=userPassword,shadowLastChange                                                #修改密码属性的限定
        by self write                                                                        #只有本身有写的权限
        by self read                                                                         #只有本身有读的权限
        by anonymous auth                                                                    #匿名用户须要验证
        by * none                                                                            #拒绝任何人访问
access to dn.children=" ou=commonality,dc=lohogames,dc=com"                                  #限定全部子条目
        by self read                                                                         #只有本身有读的权限
access to *                                                                                  #全部属性及类
        by users read                                                                        #全部用户都有读的权限
ACL访问控制

 

OpenLDAP开源服务配置

一.zabbi使用LDAP认证配置

  # 登录 zabbix页面 => 点击 Administration => 点击  Authentication => 点击 LDAP 

1 LDAP host:                                                                                   #OpenLDAP服务器地址                                                                                        
2 Port:                                                                                       #默认端口(389)不须要修改;
3 Base DN:                                                                                    #填写格式为 DC=,DC=     #域名的一部分
4 Search attribute:                                                                           #搜索属性,搜索范围 能够写 uid  ,cn
5 Bind DN:                                                                                     #cn=域管理账号,dc=域名,dc=域名;查看slapd.conf配置文件 定位 rootdn 这行就能够找到了                                                                                               
6 Bind password:                                                                              #域帐号管理员密码;查看slapd.conf配置文件 定位 rootpw 这行就是了
7 Login:                                                                                       #zabbix管理员用户
8 User password: 域用户Admin密码                                                                #域用户最好和zabbix管理员用户密码同样
参数介绍