OpenLDAP搭建部署

Posted 394510636-ff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenLDAP搭建部署相关的知识,希望对你有一定的参考价值。

安装环境:

linu系统:      centos7.2版本

OenLDAP:/openldap-2.4.44

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

BDB : 5.1.29

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

安装方式;

      #yum安装就不说了 

一、源码安装

1.DBD安装

#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/
 
二、配置
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: [email protected]                                                                       #用户登陆密码
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: [email protected]
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管理员用户密码一样
参数介绍

 

以上是关于OpenLDAP搭建部署的主要内容,如果未能解决你的问题,请参考以下文章

OpenLDAP搭建全过程 (待补充

Centos7 搭建openldap完整详细教程(真实可用)

Slurm及OpenLDAP部署

openLDAP客户端部署(centos6.5)

搭建openldap与phpldapadmin

docker下快速部署openldap与self-service-password