环境: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. js:深入函数的定义

    函数定义方式: 1.function fun1(){alert("fun1");}  //函数就是一个很特殊的对象.是一个Function的实例.事实上在内存中存储的操作是通过一个 ...

  2. frontend-tools

    收集整理好用的前端开发利器(Collect good front-end development tools ) 1.w3cplus前端工具 2.jsfiddle在线JS代码调试工具 3.w3cfun ...

  3. Data Structure Array: Move all zeroes to end of array

    http://www.geeksforgeeks.org/move-zeroes-end-array/ #include <iostream> #include <vector> ...

  4. 【leetcode刷题笔记】3Sum

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  5. 【leetcode刷题笔记】Rotate List

    Given a list, rotate the list to the right by k places, where k is non-negative. For example:Given 1 ...

  6. python 常用的字符串方法

    st = ' hello Kitty 'str = 'hello {name} {age}' #print(st.format(name='fadfa'))#常用的字符串方法print(st.coun ...

  7. 本地建立SVN服务器

    想在自己电脑上搭建SVN服务器,于是有以下步骤. 首先明确SVN服务包括服务器和客户端,平时听到的TortoiseSVN就是一个客户端. 首先下载两个软件,服务器端我使用的是VisualSVN,版本是 ...

  8. Linux - xshell上传文件报错乱码

    xshell上传文件报错乱码,解决方法 rz -be 回车 下载sz  filename

  9. jquery倾斜的动画导航菜单

    1. [代码]完整源代码  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  10. Jackson的用法实例分析

    这篇文章主要介绍了Jackson的用法实例分析,用于处理Java的json格式数据非常实用,需要的朋友可以参考下 通俗的来说,Jackson是一个 Java 用来处理 JSON 格式数据的类库,其性能 ...