linux搭建开源ldap服务器方法

 

 

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服务器方法_第1张图片

 

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客户端访问

 

你可能感兴趣的:(运维,ldap,linux)