linux搭建开源ldap服务器方法

linux搭建开源ldap服务器方法1.什么是ldap服务器ldap是统一认证服务,它的优点是存储用户认证等不经常改变的信息,有清晰的组织结构。ldap条目概念:基准DN,例如dc=company,dc=com,DN,例如cn=test,dc=company,dc=com,一个DN就是一个条目,RDN是相对DN,具有唯一性,上面例子的DN的RDN就是cn=test2.下载openldapopenld…

大家好,又见面了,我是你们的朋友全栈君。

 

 

1.什么是ldap服务器

ldap是统一认证服务,它的优点是存储用户认证等不经常改变的信息,有清晰的组织结构。

ldap条目概念:基准DN,例如dc=company,dc=com,DN,例如cn=test,dc=company,dc=com,一个DN就是一个条目,RDN是相对DN,具有唯一性,上面例子的DN的RDN就是cn=test

 

2.下载openldap

openldap服务器是比较流行的服务器,下载路径在如下地址中,

http://www.openldap.org/software/download/

本文安装的openldap版本为2.4.47

 

3.安装过程中会提示缺少依赖项,需到oracle官网下载Berkeley DB 6.0.20以前版本,下载地址如下

https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index-082944.html

下载完成后编译并安装Berkeley DB到指定目录

cd db-5.3.28/build_unix/

../dist/configure -prefix=/usr/local/BerkeleyDB

make

make install

4.上传openldap到服务器并解压,开始编译安装,

开始前需设置编译参数,如下所示

export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/BerkeleyDB/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB/lib"

设置完成后可以进行openldap的安装了

进入openldap源代码目录,

./configure --prefix=/data/ldap

安装完成后的效果如下所示,etc目录显示的是配置文件ldapbin目录显示的ldap的客户端工具,sbin目录显示的是服务器相关执行文件,libexec下是ldap服务启动程序,.ldif是ldap特定的文件格式,这种格式的文件用于ldap数据的添加

linux搭建开源ldap服务器方法

 

5.配置ldap配置文件,并启动ldap,启动完成后添加超级管理员账号

这个版本配置文件是使用的slapd.d下的文件,而不是slapd.conf,slapd.d是通过slapd.conf生成的

slapd.conf下的主要配置信息如下,证书的生成在我的另一篇博文中

access to dn.base="" by * read   
access to dn.base="cn=Subschema" by * read
access to *
        by * auth
        by dn.exact="cn=admin,dc=example-test,dc=com" manage
        by * none  #配置权限控制,格式为access to what(什么内容) by  who(谁) access(权限)


# rootdn can always read and write EVERYTHING!
TLSCACertificateFile /data/ldap/cert/ca.crt       #ldaps使用的配置证书,证书通过easy-rsa生成
TLSCertificateFile   /data/ldap/cert/server.crt
TLSCertificateKeyFile /data/ldap/cert/server.key
TLSCipherSuite ALL:!TLSv1.1:TLSv1.2:!SSLv2:!aNULL:!eNULL:!MD5:!MEDIUM:!LOW:!EXPO 
RT:@STRENGTH  #配置加密套件

#######################################################################
# MDB database definitions
#######################################################################

database        mdb   #后端存储的数据库类型
maxsize         1073741824
suffix          "dc=example-test,dc=com"
rootdn          "cn=admin,dc=example-test,dc=com"
rootpw          {SSHA}hr1NdaaaieqgrtttutrurtuaXD0 #密码通过客户端工具生成slappasswd -s passwd

directory       /data/ldap/var/openldap-data

index   objectClass     eq

slapd.d生成方式如下

slaptest -f /data/ldap/etc/openldap/slapd.conf -F /data/ldap/etc/openldap/slapd.d

之后启动ldap

 /data/ldap/libexec/slapd -F /data/ldap/etc/openldap/slapd.d -h "ldaps:///"

添加超级管理员条目

[root@localhost ldap]# more example.ldif 

dn: dc=example-test,dc=com
objectclass: dcObject
objectclass: organization
o: example-tesCompany
dc: example-test

dn: cn=admin,dc=example-test,dc=com
objectclass: organizationalRole
cn: admin

##注意:行中填写的内容最后不能有空格,条目之间用空行隔开

添加条目 

 

ldapadd -x -D "cn=admin,dc=example-test,dc=com" -W -f example.ldif

 查看添加的条目

ldapsearch -x -b 'dc=example-test,dc=com' -D "cn=admin,dc=example-test,dc=com" -W'(objectclass=*)'

6.windows客户端访问

linux搭建开源ldap服务器方法

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146395.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关闭默认共享-关于Windows的默认共享介绍

    一:关于Windows的默认共享介绍网上其实到处都有谈论到,现我也只是整理一下:在在Windows 系统中,在“我的电脑”上右击“管理”,依次选择“系统工具→共享文件夹→共享”,就会看到一些带有美元“$”标记的符号就是Windows系统默认共享,也就是Windows在安装完毕后自动共享的功能。当然在cmd命令下输入netshare同样可以查看得到。IPC$、ADMIN$、C…

    2022年4月1日
    34
  • 简单的爬取百度图片,一页

    简单的爬取百度图片,一页

    2021年9月17日
    44
  • 《深入浅出Python机器学习》读书笔记 第二章 基于Python语言的环境配置

    《深入浅出Python机器学习》读书笔记 第二章 基于Python语言的环境配置《深入浅出Python机器学习》读书笔记,第二章基于Python语言的环境配置

    2022年10月10日
    0
  • C++实现卷积操作

    C++实现卷积操作卷积操作的C++实现#include<opencv2/opencv.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/core/core.hpp>usingnamespacestd;usingnamespacecv;MatKernel_test_3_3=(…

    2022年5月28日
    72
  • java取整函数

    向上取整Math.ceil()向上取整:比自己大的最小整数ceil是天花板的意思,表示向上取整,用数学符号⌈⌉表示Math.ceil(6.1)=7.0Math.ceil(6.9)=7.0向下取整Math.floor()向下取整:比自己小的最大整数floor是地板的意思,表示向下取整,用数学符号⌊⌋表示Math.floor(9.1)=9.0Math.floor(9.9)=10.0Math.round()四舍五入后取整,其算法为Math.round(x+0

    2022年4月8日
    111
  • 新手该如何学python怎么学好python?

    新手该如何学python怎么学好python?新手该如何学python怎么学好python?作为新人,对于如何学好PYTHON也是一头雾雨,也很想能得到别人的帮助。今天看到这篇文章,感觉学习起来有了一个方向.现摘录如下,以便给自己的学习提供一个参

    2022年7月5日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号