环境: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. PAT天梯赛 L2-019. 悄悄关注 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L2-019 思路 将已关注的人 用 MAP存起来 然后将点赞的用户中 没有关注的 用 VECTOR 存下来 并且求出 ...

  2. Python 列表解析list comprehension和生成表达式generator expression

    如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析(List comprehensions)和生成表达式(generator expression) (1)list ...

  3. HTML相对路径与绝对路径

    在网页制作的过程中,少不了跟路径打交道,比如,包含一个文件,插入一个图片等,与路径都有关系,如果使用了错误的文件路径,就会导致引用失效(无法浏览链接文件,或无法显示插入的图片等).初学者可能会感到困惑 ...

  4. maven导入项目时,缺少部分source folder

    今天导入公司的maven项目时,少了一些source folder,运行启动正常,但是页面打不开,找不到对应的目录文件,使用maven更新项目,重启编辑器也无效. 问题描述如图所示,缺少了图中的2个目 ...

  5. LeetCode:二叉树的前、中、后序遍历

    描述: ------------------------------------------------------- 前序遍历: Given a binary tree, return the pr ...

  6. 每天一个Linux命令(28)df命令

    报告文件系统磁盘空间的使用情况.获取硬盘被占用了多少空间,目前还剩下多少空间等信息.       (1)用法:       用法:  df [选项] [文件]       (2)功能: 功能:  显示 ...

  7. [原创]java WEB学习笔记30:Cookie Demo 之显示最近浏览的记录

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. P3988 [SHOI2013]发牌

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

  9. 07 09&10

    0709: 排名还是不高,毕竟没切出来题. 第一题dalao: 要求你做一个三维数点,只回答最终有多少个点对的状态是完全小于(可比?)的.(n<=2000000) 特殊限制是三维都是随机排列. ...

  10. 剑指offer之 二叉搜索树的后续遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. public class Solution { ...