环境:centos 5.8

安装:

1、yum安装oepnldap、openldap-servers、openldap-clients、openldap-devel

[root@hao-linux ~]#yum -y install openldap openldap-servers openldap-clients openldap-devel
2、查看openldap安装

[root@hao-linux
~]#rpm -qa|grep openldap

3、复制DB_CONFIG.example到/var/lib/ldap/下并改名为DB_CONFIG。

[root@hao-linux
~]#cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

4、设置slapd.conf文件

[root@hao-linux
~]#vim /etc/openldap/slapd.conf

修改suffix、rootdn、rootpw为自己设定的参数:

suffix
“dc=sxis,dc=com”
rootdn “cn=admin,dc=sxis,dc=com”
rootpw secret #管理员的密码默认被注释,需删除注释(去掉rootpw前面的空格)

suffix设定的是单位(根),rootdn设定的是LDAP的管理员,rootpw设定的是LDAP管理员的密码。
管理员密码有明文与加密两种,明文直接修改就好了。
管理员加密密码设定方式:

[root@hao-linux
~]# slappasswd
New password:123456
Re-enter new password:123456
{SSHA}obu6Qmo1rPIcJBh+dqHvFEY9TE2aV1Ti

接下来把{SSHA}obu6Qmo1rPIcJBh+dqHvFEY9TE2aV1Ti复制到/etc/openldap/slapd.conf文件文件中的rootpw后替换secret就行了。

5、录入信息档案,一般记录信息的档案格式为*.ldif。

[root@hao-linux
~]# vi dc.ldif

dn:
dc=sxis,dc=com
dc: sxis
objectClass: dcObject
objectClass: organizationalUnit
ou: sxis.com

使用slapadd新增:

[root@hao-linux
~]# slapadd -v -l dc.ldif

新增成功:added: “dc=sxis,dc=com” (00000001)

编写ou.ldif:

[root@hao-linux
~]# vi ou.ldif

#jishu
top
dn: ou=jishu,dc=sxis,dc=com
ou: jishu
objectClass: organizationalUnit

#xiaoshou
top
dn: ou=xiaoshou,dc=sxis,dc=com
ou: xiaoshou
objectClass: organizationalUnit

#qiye>xiaoshou
dn: ou=qiye,ou=xiaoshou,dc=sxis,dc=com
ou: qiye
objectClass: organizationalUnit

注:每一笔新的记录与前一笔记录要使用一行空白来隔开表示、区分。

每一笔新记录开头必须要用dn的完整值表示。

使用slapadd录入:

[root@hao-linux
~]# slapadd -v -l ou.ldif

added:
“ou=jishu,dc=sxis,dc=com” (00000002)
added: “ou=xiaoshou,dc=sxis,dc=com” (00000003)
added: “ou=qiye,ou=xiaoshou,dc=sxis,dc=com” (00000004) 成功!

6、更改/var/lib/ldap权限

[root@hao-linux
lib]# chown -R ldap.ldap /var/lib/ldap/

如不赋权启动是会出现错误:

/var/lib/ldap/dn2id.bdb
is not owned by “ldap” [警告]
/var/lib/ldap/__db.004 is not owned by “ldap” [警告]
/var/lib/ldap/id2entry.bdb is not owned by “ldap” [警告]
/var/lib/ldap/__db.001 is not owned by “ldap” [警告]
/var/lib/ldap/__db.006 is not owned by “ldap” [警告]
/var/lib/ldap/__db.002 is not owned by “ldap” [警告]
/var/lib/ldap/ou.bdb is not owned by “ldap” [警告]
/var/lib/ldap/objectClass.bdb is not owned by “ldap” [警告]
/var/lib/ldap/__db.005 is not owned by “ldap” [警告]
/var/lib/ldap/__db.003 is not owned by “ldap” [警告]
启动 slapd: [确定]

7、启动ldap服务:

[root@hao-linux
lib]# service ldap start

8、查看ldap资料库:

[root@hao-linux
lib]# ldapsearch -x -b “dc=sxis,dc=com”

#
extended LDIF
# LDAPv3
# base <dc=sxis,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
## extended LDIF
# LDAPv3
# base <dc=sxis,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# sxis.com
dn: dc=sxis,dc=com
dc: sxis
objectClass: dcObject
objectClass: organizationalUnit
ou: sxis.com

#
jishu, sxis.com
dn: ou=jishu,dc=sxis,dc=com
ou: jishu
objectClass: organizationalUnit

#
xiaoshou, sxis.com
dn: ou=xiaoshou,dc=sxis,dc=com
ou: xiaoshou
objectClass: organizationalUnit

#
qiye, xiaoshou, sxis.com
dn: ou=qiye,ou=xiaoshou,dc=sxis,dc=com
ou: qiye
objectClass: organizationalUnit

#
search result
search: 2
result: 0 Success

#
numResponses: 5
# numEntries: 4

9、新建user.ldif

[root@hao-linux
~]# vim user.ldif

dn:
cn=dyy,ou=jishu,dc=sxis,dc=com
cn: dyy
sn: N/A
objectclass: person
objectclass: inetOrgPerson
givenName: cn
mail: @sxis.com
telephoneNumber: 010-52026890
postalAddress: N/A
postalCode: 100020
ou: jishu
o: sxis tech
labeledURI: http://www.sxis.com/
title: cs
userPassword: 123456

录入user.ldif到ldap:

ldapmodify
-D “cn=admin,dc=sxis,dc=com” -w 123456 -x -a -f user.ldif

adding
new entry “cn=dyy,ou=jishu,dc=sxis,dc=com”

成功!

后记:录入资料命令有两种:一种为:slapadd 另一种为:ldapadd 前者在未启动ldap服务时使用,后者在已启动ldap服务时使用。

OpenLDAP目录讲解:

topldap的安装目录:/usr/local/topldap
OpenLDAP目录讲解:
topldap的安装目录:/usr/local/topldap
|-slapd 目录服务的主要程序
|-slurpd 目录服务进行复制的程序
|-slapadd 向目录中添加数据
|-slapcat 把目录中的条目导出成ldif文件
|-slapindex 重建目录的索引
|-ldapcompare 对目录的条目的属性进行比较
|-ldapadd 向目录服务中添加条目
|-ldapdelete 删除目录中的条目
|-ldapmodify 更新目录中条目的值
|-ldapmodrdn 更改条目的DN
|-ldappasswd 更改条目的密码
|-ldapsearch 对目录进行查询
|—include 目录服务的c的.h文件
|—lib 目录服务的c的连接文件
|—man 说明文档
|—topldap-data 存放目录所存储的数据
|—topldap-slurpd 存放目录进行复制时文件
|—topldap
|-slapd.conf 目录服务服务器端主要的配置文件
|-ldap.conf 客户端的配置文件

启动目录服务:
/usr/local/topldap/slapd -d 256
停止服务:
/usr/local/topldap/stopslapd、如果在debug模式,按下Ctrl+c终止服务就行了
启动目录的复制服务
/usr/local/topldap/slurpd -d 4
配置文件:
/usr/local/topldap/topldap/slapd.conf

常用命令介绍

slapd
4 使用IPv4标准
6 使用IPv6标准
-d debug模式 一般用 -1,1,256
-f 指定配置文件的路径
-h 可以指定启动服务的端口 ldap://:2004 用2004端口启动服务
slurpd
-d debug模式 一般用4
-f 指定配置文件
-r 指定复制

ldapadd
-x 进行简单认证
-D 用来绑定服务器的DN
-h 目录服务的地址
-w 绑定DN的密码
-f 使用ldif文件进行条目添加的文件
例子 ldapadd -x -D “cn=root,dc=starxing,dc=com” -w secret -f /root/test.ldif
ldapadd -x -D “cn=root,dc=starxing,dc=com” -w secret (这样写就是在命令行添加条目)
ldapsearch
-x 进行简单认证
-D 用来绑定服务器的DN
-w 绑定DN的密码
-b 指定要查询的根节点
-H 制定要查询的服务器
ldapsearch -x -D “cn=root,dc=starxing,dc=com” -w secret -b “dc=starxing,dc=com”
使用简单认证,用 “cn=root,dc=starxing,dc=com”
进行绑定,
要查询的根是 “dc=starxing,dc=com”.这样会把绑定的用户能访问”dc=starxing,dc=com”下的
所有数据显示出来.
ldapdelete
参数和ldapadd差不多,就不写了
ldapdelete -x -D ‘cn=root,dc=it,dc=com’ -w secert ‘uid=zyx,dc=it,dc=com’
这样就可以删除’uid=zyx,dc=it,dc=com’记录了,应该注意一点,如果o或ou中有成员是不能删除的.

ldappasswd
-x 进行简单认证
-D 用来绑定服务器的DN
-w 绑定DN的密码
-S 提示的输入密码
-s pass 把密码设置为pass
-a pass 设置old passwd为pass
-A 提示的设置old passwd
-H 是指要绑定的服务器
-I 使用sasl会话方式
#ldappasswd -x -D ‘cm=root,dc=it,dc=com’ -w secret ‘uid=zyx,dc=it,dc=com’ -S
New password:
Re-enter new password:
就可以更改密码了,如果原来记录中没有密码,将会自动生成一个userPassword.
ldapmodify
-a 添加新的条目.缺省的是修改存在的条目.
-C 自动追踪引用.
-c 出错后继续执行程序并不中止.缺省情况下出错的立即停止.比如如果你的ldif 文
件内的某个条目在数据库内并不存在,缺省情况下程序立即退出,但如果使用了该参数,程
序忽略该错误继续执行.
-n 用于调试到服务器的通讯.但并不实际执行搜索.服务器关闭时,返回错误;服务器
打开时,常和-v 参数一起测试到服务器是否是一条通路.
-v 运行在详细模块.在标准输出中打出一些比较详细的信息.比如:连接到服务器的
ip 地址和端口号等.
-M[M] 打开manage DSA IT 控制. -MM 把该控制设置为重要的.
-f file 从文件内读取条目的修改信息而不是从标准输入读取.
-x 使用简单认证.
-D binddn 指定搜索的用户名(一般为一dn 值).
-W 指定了该参数,系统将弹出一提示入用户的密码.它和-w 参数相对使用.
-w bindpasswd 直接指定用户的密码. 它和-W 参数相对使用.
-H ldapuri 指定连接到服务器uri(ip 地址和端口号,常见格式为
ldap://hostname:port).如果使用了-H 就不能使用-h 和-p 参数.
-h ldaphost 指定要连接的主机的名称/ip 地址.它和-p 一起使用.
-p ldapport 指定要连接目录服务器的端口号.它和-h
一起使用.
如果使用了-h 和-p 参数就不能使用-H 参数.
-Z[Z] 使用StartTLS 扩展操作.如果使用-ZZ,命令强制使用StartTLS 握手成功.
-V 启用证书认证功能,目录服务器使用客户端证书进行身份验证,必须与-ZZ 强制启用
TLS 方式配合使用,并且匿名绑定到目录服务器.
-e 设置客户端证书文件,例: -e
cert/client.crt
-E 设置客户端证书私钥文件,例: -E
cert/client.key
#ldapmodify -x -D “cn=root,dc=it,dc=com” -W -f modify.ldif
将modify.ldif中的记录更新原有的记录

CentOS配置LDAP服务器的更多相关文章

  1. centos7安装Jenkins更改默认端口并配置Ldap服务器进行用户认证

    应用环境:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作.   Jenkins官网:https://jenkins.io/ 测试环境:一台Centos ...

  2. centos 6.5 配置LDAP服务器+客户端!

    各种度娘!各种歌哥!网上教程参差不齐,历时1天,终于完成,不敢独享,遂,总结分享之,有问题可以留言,知无不言...开始吧 Note: 本次配置的服务器环境是<redhat enterprise ...

  3. centos 配置NFS服务器

    转载:http://boloveyo.blog.163.com/blog/static/203926187201232383956558/ 系统是CentOS5.6,假设NFS Server IP为1 ...

  4. centos配置NTP服务器

    时间服务器: NTP(Network Time Protocol,网络时间协议)是用来使用网络中的各个计算机时间同步的一种协议,NTP服务器就是利用NTP协议提供时间同步服务的. 一.环境准备: 1. ...

  5. 【原创】Centos配置turn服务器

    使用ssh工具,进入命令行,安装下面的就是可以配置turn-server(coturn) 转请注明出处. 1.安装centos必须的库文件      yum install -y make gcc c ...

  6. CentOS配置SVN服务器

    系统环境:CentOS系统:CentOS 6.5 1.检查是否安装了低版本的SVN rpm -qa subversion 2.卸载旧版本SVN yum remove subversion 3.安装SV ...

  7. linux centos 配置 svn 服务器

    首先介绍一下吧,Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中.  ...

  8. CentOS配置DHCP服务器

    知识储备 bootp (boot protocol) 早前用于无盘工作站,dhcp的前身 IP初次分配完成,以后固定mac和IP绑定关系 dhcp基础 获取IP步骤 step1: Client dhc ...

  9. centos配置vpn服务器

    1.配置epel软件源wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm2.安装PPTP服务端软件yu ...

随机推荐

  1. url信息

    var protocol = window.location.protocol; // "http:" var host = window.location.host; //&qu ...

  2. Storm,Spark和Samza

    http://www.csdn.net/article/2015-03-09/2824135 Apache Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topolo ...

  3. c++ 之重要性

    c++的功能比c语言大的多,c语言偏最底层,且程序短小,而对于一个大的系统,用c++,因为它具备了c语言的优点. 很多学嵌入式的觉得学了c语言之后,就不用学c++了,会认为c++很简单,然而,c++并 ...

  4. C#转换人民币大写金额

    /// <summary> /// 转换人民币大写金额. /// </summary> public class RMBConverter { /// <summary& ...

  5. 【leetcode刷题笔记】Jump Game II

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  6. P3988 [SHOI2013]发牌

    题目 P3988 [SHOI2013]发牌 做法 我们切牌时的状态: 手玩几次后我们发现切\(K\)次牌就是求堆顶一下的\(K+1\)大值,套上主席树就好了 My complete code #inc ...

  7. jQuery横向手风琴

    在线演示 本地下载

  8. location记录<18.7.21>

    // var index = location.href; // console.log(index) // // indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. // v ...

  9. 本地连接出现"已启用检测该状态的服务"解决方法、方案

    1.运行 输出dcomcnfg 2.组件服务-计算机-我的电脑-DCOM配置-netprofm 3.右键属性-安全-启动和激活权限-自定义 4.编辑-添加-输入对象名称来选择-输入“LOCAL SER ...

  10. UVA 1664 Conquer a New Region (并查集+贪心)

    并查集的一道比较考想法的题 题意:给你n个点,接着给你n-1条边形成一颗生成树,每条边都有一个权值.求的是以一个点作为特殊点,并求出从此点出发到其他每个点的条件边权的总和最大,条件边权就是:起点到终点 ...