返回顶部
首页 > 资讯 > 数据库 >OpenLDAP 服务端安装与配置
  • 443
分享到

OpenLDAP 服务端安装与配置

2024-04-02 19:04:59 443人浏览 独家记忆
摘要

一、OpenLDAP 安装方式    在UNIX 发行操作系统环境下安装OpenLDAP 软件一般有两种方式:一种是通过源码编译安装,另一种则是通过光盘自带的rpm 软件包进行安装。下面

一、OpenLDAP 安装方式

    在UNIX 发行操作系统环境下安装OpenLDAP 软件一般有两种方式:一种是通过源码编译安装,另一种则是通过光盘自带的rpm 软件包进行安装。下面会分别介绍这两种安装方式,我还是建议使用rpm 安装,因为方便快捷。安装OpenLDAP服务器需要提供守护进程和传统的OpenLDAP 管理配置工具,主要是slapd 和ldap-utils 套件。

    我的安装环境是Centos 6.7 64位操作系统,安装前环境准备请看博文环境准备

1、以软件包形式安装

# yum安装
yum install openldap openldap-* -y

# 初始化配置文件
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

# 初始化数据库配置文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

# 修改权限
chown -R ldap.ldap /etc/openldap  
chown -R ldap.ldap /var/lib/ldap

    默认OpenLDAP 服务所使用的端口为389,此端口采用明文传输数据,数据信息得不到保障。所以可以通过配置CA 及结合TLS/SASL 实现数据加密传输,所使用端口为636,后面我再介绍实现过程。

2、通过源码编译安装

    由于编译安装OpenLDAP 需要数据库支持,因此OpenLDAP 软件后端数据库可采用BerkeleyDBBDB、oracleMysql、MariaDB、GDBM 等数据库软件实现数据的存储。默认OpenLDAP 采用Berkeley DB 数据库作为后端存储引擎,而且OpenLDAP 对Berkey DB 的版本有一定要求,以OpenLDAP 2.4 软件版本为例,需要Berkeley DB 4.4 版本以上,所以在编译OpenLDAP 源码包时需要先下载Brekeley DB 源码包,并进行编译安装即可。

    Berkeley DB 是由美国Sleepycat Software 公司开发开源数据库系统,具有高性能、嵌入式数据库编程库,可存取任意类型的键(key)/值(value)对,一键可以存储多个值,且支持在线并发量大的数据查询请求。

    非常抱歉,这部分安装设置比较复杂,我就不在这里展示了,如果谁想知道可以给我留言,谢谢。

二、OpenLDAP 配置

    我使用的系统是CentOS 6系列的,和CentOS 5系列的OpenLDAP有不小的区别,旧版本的OpenLDAP配置文件是slapd.conf,而新版本(我测试的新版本是2.4.40)的OpenLDAP服务运行时并不会读取该配置文件,而是从slapd.d目录(一般与slapd.conf在同一目录下)中读取相关信息,我们需要把该目录下的数据删掉,然后利用我们在slapd.conf里配置的信息重新生成配置数据。这也可能是你启动服务后运行ldap相关命令却出现“ldap_bind: Invalid credentials (49)”错误的主要原因。具体怎么重新生成配置数据请看具体的实验过程。

1、slapd.conf配置文件参数

    以下是我的配置文件,#的内容是我添加的解释,大家可以根据实际情况修改成自己的域名,如果大家不了解其中的dn,cn,dc代表什么,请查看我的博文理论知识

[root@mldap ~]# egrep -v "#|^$" /etc/openldap/slapd.conf

# include 行代表当前OpenLDAP 服务包含的schema 文件    
include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/duaconf.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema
include         /etc/openldap/schema/collective.schema
include         /etc/openldap/schema/sudo.schema
include         /etc/openldap/schema/openssh-lpk-openldap.schema

# OpenLDAP 服务允许连接的客户端版本。
allow bind_v2

# OpenLDAP 进程启动时,pid 文件存放路径。
pidfile         /var/run/openldap/slapd.pid

# OpenLDAP 参数文件存放的路径。
argsfile        /var/run/openldap/slapd.args

# 传输加密的配置信息
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/passWord

database config
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
        by * none
database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=admin,dc=wzlinux,dc=com" read
        by * none
        
# 指定OpenLDAP 数据库类型。
database        bdb

# 指定OpenLDAP 服务域名(DN)
suffix          "dc=wzlinux,dc=com"
checkpoint      1024 15

# 指定OpenLDAP 服务管理员信息。
rootdn          "cn=admin,dc=wzlinux,dc=com"

# 指定OpenLDAP 服务管理员密码,使用slappasswd -s your_password来获取加密密码
rootpw          {SSHA}hjqcrGsPL6H58QAS0QHBvihVS7x2HHKG

# 指定OpenLDAP 数据库文件的存放目录。
directory       /var/lib/ldap

# 创建OpenLDAP 索引。
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginshell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

2、启动服务并查询

service slapd start

    查询LDAP的目录条目,首先我们介绍一下ldapsearch命令,具体可以使用man帮助手册查看。

  • -b:指定查找的节点

  • -D:指定查找的DN

  • -x:使用简单认证

  • -W:查询是输入密码,或者使用-w password

  • -h:OpenLDAP的主机地址,可以使用IP或者域名

  • -H:使用LDAP服务器的URI地址进行操作

[root@mldap ~]# ldapsearch -x -D "cn=admin,dc=wzlinux,dc=com" -H ldap://192.168.2.10 -W
Enter LDAP Password:                    #就是我们在slapd.conf加密的密码
ldap_bind: Invalid credentials (49)

    我们看到出现了错误,这个问题并不是因为密码错误,是因为新版的LDAP去读取数据库(slapd.d),并没有按照我们的配置文件(slapd.conf)读取,所以我们要删掉数据库配置文件,然后通过slapd.conf文件生成,每次修改配置文件都要如此操作。

rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F/etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d
service slapd restart

    然后再进行查询,看看结果返回是否正常,我们可以看到No such object,因为我们什么数据也没有添加,所以查询的结果为零,到此我们的配置都是正常的。

[root@mldap ~]# ldapsearch -x -D "cn=admin,dc=wzlinux,dc=com" -h 192.168.2.10 -W
Enter LDAP Password: 
# extended LDIF
#
# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1

3、为ldap server添加数据

    为ldap添加用户数据,有四种方法,分别如下,我们选择第四种方法进行试验。

  • 1)可以直接修改slapd.d目录下面的数据文件,好处是不用重启服务,直接生效;

  • 2)安装开源工具migrationtools来生成ldfi文件,并通过ldapadd来添加;

  • 3)安装ldap 客户端,这种方法最为简单;

  • 4)直接编辑ldfi文件,然后通过ldapadd添加。

    首先我们手动编辑base.ldif文件,直接复制好像会因为格式有问题。每个条目之间有个空格,直接复制过去会有点问题,需要你把每个条目之间空行的第一个空位删除一下。

[root@mldap ~]# vim base.ldif 
dn: dc=wzlinux,dc=com
objectClass: organization
objectClass: dcObject
dc: wzlinux
o: wzlinux

dn: ou=people,dc=wzlinux,dc=com
objectClass: top
objectClass: organizationalUnit
ou: people

dn: ou=group,dc=wzlinux,dc=com
objectClass: top
objectClass: organizationalUnit
ou: group

    通过ldapadd导入数据,通过man可以看到,他的大部分参数和ldapsearch差不多,我们这里就直接使用了。

[root@mldap ~]# ldapadd -x -D "cn=admin,dc=wzlinux,dc=com" -w 123456a -h 192.168.2.10 -f base.ldif 

adding new entry "dc=wzlinux,dc=com"

adding new entry "ou=people,dc=wzlinux,dc=com"

adding new entry "ou=group,dc=wzlinux,dc=com"

    通过反馈的结果,我们已经看到添加成功了,我们在另外一台安装了客户端的机器上面进行查询一下,可以看到我们查询到的结果和我们的base.ldif是一样的。

[root@test01 ~]# ldapsearch -x -D "cn=admin,dc=wzlinux,dc=com" -w 123456a -h 192.168.2.10 -b "dc=wzlinux,dc=com" -LLL
dn: dc=wzlinux,dc=com
objectClass: organization
objectClass: dcObject
dc: wzlinux
o: wzlinux

dn: ou=people,dc=wzlinux,dc=com
objectClass: top
objectClass: organizationalUnit
ou: people

dn: ou=group,dc=wzlinux,dc=com
objectClass: top
objectClass: organizationalUnit
ou: group

   然后我们通过user.ldif和group.ldif增加一个用户和一个组。

[root@mldap ~]# cat user.ldif group.ldif 
dn: uid=test1,ou=people,dc=wzlinux,dc=com
objectClass: posixAccount
objectClass: top
objectClass: inetOrgPerson
objectClass: shadowAccount
gidNumber: 0
givenName: test1
sn: test1
uid: test1
homeDirectory: /home/test1
loginShell: /bin/bash
shadowFlag: 0
shadowMin: 0
shadowMax: 99999
shadowWarning: 0
shadowInactive: 99999
shadowLastChange: 12011
shadowExpire: 99999
cn: test1
uidNumber: 24422
userPassword:: e1NIQX10RVNzQm1FL3lOWTNsYjZhMEw2dlZRRVpOcXc9

dn: cn=DBA,ou=group,dc=wzlinux,dc=com
objectClass: posixGroup
objectClass: top
cn: DBA
memberUid: test1
gidNumber: 10673

   看完那就添加用户和组呗。

[root@mldap ~]# ldapadd -x -D "cn=admin,dc=wzlinux,dc=com" -w 123456a -h 192.168.2.10 -f group.ldif 
adding new entry "cn=DBA,ou=group,dc=wzlinux,dc=com"

[root@mldap ~]# ldapadd -x -D "cn=admin,dc=wzlinux,dc=com" -w 123456a -h 192.168.2.10 -f user.ldif 
adding new entry "uid=test1,ou=people,dc=wzlinux,dc=com"

    然后通过下面的命令查看自己是否添加成功。

ldapsearch -x -D "cn=admin,dc=wzlinux,dc=com" -w 123456a -h 192.168.2.10 -b "dc=wzlinux,dc=com" -LLL

    可能每次查询都写这么多,或许感觉比较麻烦,我们可以在客户端的配置文件里面添加两行数据,客户端的配置文件是/etc/openldap/ldap.conf。

BASE   dc=wzlinux,dc=com
URI    ldap://ldap.wzlinux.com     #提前设置好hosts文件

4、通过slapd.conf 定义用户策略控制

    默认情况下,不允许OpenLDAP 用户自身修改密码,仅管理员具有修改权限。为了提高个人账号的安全性,需要让用户自身可以修改并更新密码信息,不需要管理员干涉。具体步骤如下。

1)定义访问控制策略。

    编辑slapd.conf 配置文件,定位access 行,添加如下内容。

access to attrs=shadowLastChange,userPassword  
    by self write             #只允许自身修改  
    by * auth  
access to *  
    by * read                 #允许授权用户查看信息

2)重新生成数据库文件并重启服务。

rm -rf /etc/openldap/slapd.d/*  
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/  
chown -R ldap.ldap /etc/openldap/  
service slapd restart

5、日志的配置

    在配置文件/etc/openldap/slapd.conf中添加如下内容,记得重新生成数据库文件。

loglevel 256
cachesize 1000
checkpoint 2048 10

    在/etc/rsyslog.conf中添加如下内容,然后重启rsyslog服务。

local4.*          /var/log/slapd.log

6、OpenLDAP 日志切割配置

    通过logrotate 实现对OpenLDAP 日志的切割,预防日志过大不便于排错以及性能分析。下面通过定制脚本实现当日志大于10MB 时,进行切割,便于排错。脚本如下。

#!/bin/bash  
########### 通过logrotate 实现对OpenLDAP 日志进行切割 ##################  
FILE= /var/log/slapd.log  
if [ ! -f $FILE ];then  
/bin/touch $FILE && /bin/chmod 666 $FILE && /usr/bin/chattr +a $FILE &> /dev/null  
cat > /etc/logrotate.d/ldap << "EOF"  
/var/log/slapd.log {  
   prerotate  
         /usr/bin/chattr -a /var/log/slapd/slapd.log  
   endscript  
   compress  
   delaycompress  
   notifempty  
   rotate 100  
   size 10M  
   postrotate  
          /usr/bin/chattr +a /var/log/slapd/slapd.log  
   endscript  
}  
EOF  
   service rsyslog restart && chkconfig rsyslog on  
else  
   echo "slapd log is exsit"  
fi






您可能感兴趣的文档:

--结束END--

本文标题: OpenLDAP 服务端安装与配置

本文链接: https://lsjlt.com/news/44515.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • OpenLDAP 服务端安装与配置
    一、OpenLDAP 安装方式    在UNIX 发行操作系统环境下安装OpenLDAP 软件一般有两种方式:一种是通过源码编译安装,另一种则是通过光盘自带的rpm 软件包进行安装。下面...
    99+
    2024-04-02
  • OpenLDAP如何安装配置
    小编给大家分享一下OpenLDAP如何安装配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、OpenLDAP简介 ...
    99+
    2024-04-02
  • Linux系统下安装配置 OpenLDAP + phpLDAPadmin
    Linux系统下安装配置 OpenLDAP + phpLDAPadmin实验环境:操作系统:Centos 7.4服务器ip:192.168.3.41运行用户:root网络环境:InternetLDAP(轻量级目录访问协议)是一个能实现提供被...
    99+
    2023-06-05
  • Ubuntu系统下OpenLDAP的安装及配置
    前言LDAP(Lightweight Directory Access Protocol)是基于X.500标准的轻量级目录访问协议,在Unix操作系统里面,和NIS,DNS一样,属于名称服务(Naming ...
    99+
    2024-04-02
  • Linux安装与配置SSH服务
    一、SSH服务安装 1. 安装ssh服务 如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令: sudo yum install sshd sudo yum install openssh-serv...
    99+
    2023-09-02
    linux ssh 服务器
  • 安装与配置
    Python 下载网址 Welcome to Python.org 按照对应的操作系统选择 3、下滑找到3.10.0版本根据电脑配置选择64位或者32位. 注意,有embeddable package和windows installer两...
    99+
    2023-09-01
    python
  • IIS Web服务器的安装与配置
    打开控制面板,搜索“程序与功能”; 点击进入“程序和功能”,选择“启用和关闭Windows功能”;   3、点击“启用或关闭Windows功能”,弹出小窗口,找到“Internet Information Service...
    99+
    2023-09-09
    前端 服务器 运维
  • web服务器怎么安装与配置
    要安装和配置一个web服务器,您可以按照以下步骤进行操作:1. 选择合适的web服务器软件:常见的web服务器软件有Apache、N...
    99+
    2023-08-23
    web服务器 服务器
  • 【配置】JDK8的安装与配置
    文章目录 JDK8的安装与配置1、选择哪个版本的JDK?2、官网下载2.1 找到导航栏里的Resources下的 Java Downloads2.2 寻找存档版本 Java archive2....
    99+
    2023-09-09
    java 开发语言
  • 安装与配置ASMLib
            VIP在线极小班:每班2-6人,每天2-4小时,灵活安排,可回放重听!全程由长期在一线的OCM大师指导学习!随时在线答疑!         更多详情请登录思庄网站进一步咨询在线课程老师。谢谢! ...
    99+
    2017-04-04
    安装与配置ASMLib
  • MySQL:安装与配置
    一、MySQL安装 0、下载社区版安装包 官网下载地址:https://dev.mysql.com/downloads/installer/ 进入安装页面,这里不选择默认安装的所有工具,仅选择Server only。 如果没有V...
    99+
    2017-03-30
    MySQL:安装与配置 数据库入门 数据库基础教程 数据库 mysql
  • hbase配置与安装
      HBase配置安装 hbase0.98.5使用hadoop2.2.0安装在rhel6.2系统。 下载 hbase-0.98.5-hadoop2-bin.tar.g...
    99+
    2024-04-02
  • Opentsdb安装与配置
    1、介绍openTSDB(见图)使用hbase作为存储中心,它无须采样,可以完整的收集和存储上亿的数据点,支持秒级别的数据监控,得益于hbase的分布式列式存储,hbase可以灵活的支持metrics的增加...
    99+
    2024-04-02
  • echarts安装与配置
    一、安装 1、独立版本 我们可以在直接下载 echarts.min.js 并用 <script> 标签引入。 echarts.min.js(4.7.0...
    99+
    2024-04-02
  • Tomcat安装与配置
    文章目录 一,说明二,安装三:运行四,配置(若本地一个tomcat服务,可配置,若多个,可忽略)五:修改端口六:启动多tomcat(举例两个)七:Idea关联tomcat(由于老项目不是Spr...
    99+
    2023-09-03
    tomcat
  • Node.js安装与配置
    ✅作者简介:CSDN一位小博主,正在学习前端,欢迎大家一起来交流学习🏆 📃个人主页:白月光777的CSDN博客 🔥系列专栏:Vue从入门到进阶 &#...
    99+
    2023-09-07
    vue.js node.js 前端
  • Jitamin 安装与配置
    Jitamin Jitamin (读作/ˈdʒɪtəmɪn/) 是一款免费、开源,使用PHP语言开发的项目管理系统。Jitamin灵感来自于Vitamin,并结合了Just In Time(准时)...
    99+
    2023-09-02
    php 数据库 postgresql
  • CentOS中怎么配置和使用OpenLDAP服务器
    在CentOS中配置和使用OpenLDAP服务器需要按照以下步骤进行操作: 安装OpenLDAP服务器软件包: sudo yum...
    99+
    2024-04-19
    CentOS OpenLDAP
  • mysql服务应该如何安装与配置
    本文主要给大家介绍mysql服务应该如何安装与配置,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql服务应该如何安装与配置吧。首先,确定你的电...
    99+
    2024-04-02
  • Maven安装与配置,Idea配置Maven
    文章目录 一、安装本地Maven二、安装三、配置环境变量四、配置settings文件五、idea配置 一、安装本地Maven 选择你需要的maven版本下载:官网下载传送门 我使用的是3.6.1版本:maven-3.6.1-bi...
    99+
    2023-08-16
    intellij-idea maven java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作