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服务器方法

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux降内核版本_linux内核降级

    linux降内核版本_linux内核降级1,实验环境:Vmware12.5.1,Ubuntu16.0464位,Linux3.16.1(高版本无法启动qemu)Busybox1.20.2,u-boot-2016.09.tar.bz22.整体流程说明安装交叉编译工具链安装qemu模拟器编译arm架构u-boot用u-boot测试qemu是否正常启动(至此为第二次实验需要完成的内容)编译arm架构内核Qemu运行内核制作文件系统…

  • 用EasySysprep封装Win7系统「建议收藏」

    用EasySysprep封装Win7系统「建议收藏」前面我介绍了使用Dism++封装Windows7系统,不过最后还是没达到我想要的效果。不过经过一番查阅之后,我发现我想要的效果好像没办法简单的使用单一工具达到。我希望做成的效果是类似于Win10,一个ISO镜像内置各种驱动及最新的更新,安装完成之后什么事情都不用做。不过现在看来这个要求比较高,所以得使用一些第三方工具才能比较方便的达成。话说回来Dism++这个工具确实很好用,不过研究下来感觉

  • 动车上的书摘-java对象流与序列化

    动车上的书摘-java对象流与序列化

  • Activity启动模式之FLAG_ACTIVITY_CLEAR_TOP

    Activity启动模式之FLAG_ACTIVITY_CLEAR_TOP关于Android的Intent.FLAG_ACTIVITY_CLEAR_TOP如果设置,并且这个Activity已经在当前的Task中运行,因此,不再是重新启动一个这个Activity的实例,而是在这个Activity上方的所有Activity都将关闭然后这个Intent会作为一个新的Intent投递到老的Activity(现在位于顶端)中。例如,假设一个Task中包含这些Act…

  • 二传感器尺寸「建议收藏」

    二传感器尺寸「建议收藏」说到传感器的尺寸,其实是说感光器件的面积大小,这里就包括了CCD和CMOS。感光器件的面积越大,CCD/CMOS面积越大,捕捉的光子越多,感光性能越好,信噪比越高。下面是家用小DC图像传感器尺寸换算为公制的大小(单位为毫米):2/3英寸的画幅面积为(8.8×6.6mm)1/1.8英寸的画幅面积为(7.178×5.319mm)1/2英寸的画幅面积为(6.4×4.8mm)1/2.7英寸的画幅面…

  • SCTP简介

    SCTP简介SCTP(StreamControlTransmissionProtocol)是一种传输协议,在TCP/IP协议栈中所处的位置和TCP、UDP类似,兼有TCP/UDP两者特征。SCTP是可以确保数据传输的,和TCP类似,也是通过确认机制来实现的。和TCP不同的是:1.TCP是以字节为单位传输的,SCTP是以数据块为单位传输的TCP接收端确认的是收到的字节数,SCTP接收端确认

发表回复

您的电子邮箱地址不会被公开。

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