CentOS配置LDAP服务器
环境: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服务器的更多相关文章
- centos7安装Jenkins更改默认端口并配置Ldap服务器进行用户认证
应用环境:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作. Jenkins官网:https://jenkins.io/ 测试环境:一台Centos ...
- centos 6.5 配置LDAP服务器+客户端!
各种度娘!各种歌哥!网上教程参差不齐,历时1天,终于完成,不敢独享,遂,总结分享之,有问题可以留言,知无不言...开始吧 Note: 本次配置的服务器环境是<redhat enterprise ...
- centos 配置NFS服务器
转载:http://boloveyo.blog.163.com/blog/static/203926187201232383956558/ 系统是CentOS5.6,假设NFS Server IP为1 ...
- centos配置NTP服务器
时间服务器: NTP(Network Time Protocol,网络时间协议)是用来使用网络中的各个计算机时间同步的一种协议,NTP服务器就是利用NTP协议提供时间同步服务的. 一.环境准备: 1. ...
- 【原创】Centos配置turn服务器
使用ssh工具,进入命令行,安装下面的就是可以配置turn-server(coturn) 转请注明出处. 1.安装centos必须的库文件 yum install -y make gcc c ...
- CentOS配置SVN服务器
系统环境:CentOS系统:CentOS 6.5 1.检查是否安装了低版本的SVN rpm -qa subversion 2.卸载旧版本SVN yum remove subversion 3.安装SV ...
- linux centos 配置 svn 服务器
首先介绍一下吧,Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. ...
- CentOS配置DHCP服务器
知识储备 bootp (boot protocol) 早前用于无盘工作站,dhcp的前身 IP初次分配完成,以后固定mac和IP绑定关系 dhcp基础 获取IP步骤 step1: Client dhc ...
- centos配置vpn服务器
1.配置epel软件源wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm2.安装PPTP服务端软件yu ...
随机推荐
- PAT天梯赛 L2-019. 悄悄关注 【STL】
题目链接 https://www.patest.cn/contests/gplt/L2-019 思路 将已关注的人 用 MAP存起来 然后将点赞的用户中 没有关注的 用 VECTOR 存下来 并且求出 ...
- Python 列表解析list comprehension和生成表达式generator expression
如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析(List comprehensions)和生成表达式(generator expression) (1)list ...
- HTML相对路径与绝对路径
在网页制作的过程中,少不了跟路径打交道,比如,包含一个文件,插入一个图片等,与路径都有关系,如果使用了错误的文件路径,就会导致引用失效(无法浏览链接文件,或无法显示插入的图片等).初学者可能会感到困惑 ...
- maven导入项目时,缺少部分source folder
今天导入公司的maven项目时,少了一些source folder,运行启动正常,但是页面打不开,找不到对应的目录文件,使用maven更新项目,重启编辑器也无效. 问题描述如图所示,缺少了图中的2个目 ...
- LeetCode:二叉树的前、中、后序遍历
描述: ------------------------------------------------------- 前序遍历: Given a binary tree, return the pr ...
- 每天一个Linux命令(28)df命令
报告文件系统磁盘空间的使用情况.获取硬盘被占用了多少空间,目前还剩下多少空间等信息. (1)用法: 用法: df [选项] [文件] (2)功能: 功能: 显示 ...
- [原创]java WEB学习笔记30:Cookie Demo 之显示最近浏览的记录
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- P3988 [SHOI2013]发牌
题目 P3988 [SHOI2013]发牌 做法 我们切牌时的状态: 手玩几次后我们发现切\(K\)次牌就是求堆顶一下的\(K+1\)大值,套上主席树就好了 My complete code #inc ...
- 07 09&10
0709: 排名还是不高,毕竟没切出来题. 第一题dalao: 要求你做一个三维数点,只回答最终有多少个点对的状态是完全小于(可比?)的.(n<=2000000) 特殊限制是三维都是随机排列. ...
- 剑指offer之 二叉搜索树的后续遍历序列
题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. public class Solution { ...