- 浏览: 4404858 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (634)
- Oracle日常管理 (142)
- Oracle体系架构 (45)
- Oracle Tuning (52)
- Oracle故障诊断 (35)
- RAC/DG/OGG (64)
- Oracle11g New Features (48)
- DataWarehouse (15)
- SQL, PL/SQL (14)
- DB2日常管理 (9)
- Weblogic (11)
- Shell (19)
- AIX (12)
- Linux/Unix高可用性 (11)
- Linux/Unix日常管理 (66)
- Linux桌面应用 (37)
- Windows (2)
- 生活和工作 (13)
- 私人记事 (0)
- Python (9)
- CBO (15)
- Cognos (2)
- ORACLE 12c New Feature (2)
- PL/SQL (2)
- SQL (1)
- C++ (2)
- Hadoop大数据 (5)
- 机器学习 (3)
- 非技术 (1)
最新评论
-
di1984HIT:
xuexilee!!!
Oracle 11g R2 RAC高可用连接特性 – SCAN详解 -
aneyes123:
谢谢非常有用那
PL/SQL的存储过程和函数(原创) -
jcjcjc:
写的很详细
Oracle中Hint深入理解(原创) -
di1984HIT:
学习了,学习了
Linux NTP配置详解 (Network Time Protocol) -
avalonzst:
大写的赞..
AIX内存概述(原创)
LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理。下面我们就一起来配置openldap服务。本文运行环境:CentOS 5。
软件需求:
db-4.7.25.tar.gz (http://www.oracle.com/technology/global/cn/software/products/berkeley-db/index.html)
openldap-stable-20090411.tgz (http://www.openldap.org/software/download/)
安装openldap
1、安装BerkeleyDB
# tar zxvf db-4.7.25.tar.gz
# cd db-4.7.25/build_unix
# ../dist/configure
# make
# make install
# vi /etc/ld.so.conf
加入一下语句:
/usr/local/BerkeleyDB.4.7/lib
# /sbin/ldconfig
2、安装openldap
# tar zxvf openldap-stable-20090411.tgz
# cd openldap-2.4.16
# ./configure --prefix=/usr/local/openldap
# make depend
# make
# make install
3、检查安装结果
安装好后,系统会自动生成一些.schema文件,我们可以使用命令:
# ll /usr/local/etc/openldap/schema/*.schema
-r--r--r-- 1 root root 6190 Jun 13 15:58 /usr/local/etc/openldap/schema/collective.schema
-r--r--r-- 1 root root 8063 Jun 13 15:58 /usr/local/etc/openldap/schema/corba.schema
-r--r--r-- 1 root root 20499 Jun 13 15:58 /usr/local/etc/openldap/schema/core.schema
-r--r--r-- 1 root root 73994 Jun 13 15:58 /usr/local/etc/openldap/schema/cosine.schema
-r--r--r-- 1 root root 10388 Jun 13 15:58 /usr/local/etc/openldap/schema/duaconf.schema
-r--r--r-- 1 root root 3289 Jun 13 15:58 /usr/local/etc/openldap/schema/dyngroup.schema
-r--r--r-- 1 root root 6267 Jun 13 15:58 /usr/local/etc/openldap/schema/inetorgperson.schema
-r--r--r-- 1 root root 13901 Jun 13 15:58 /usr/local/etc/openldap/schema/java.schema
-r--r--r-- 1 root root 2387 Jun 13 15:58 /usr/local/etc/openldap/schema/misc.schema
-r--r--r-- 1 root root 7640 Jun 13 15:58 /usr/local/etc/openldap/schema/nis.schema
-r--r--r-- 1 root root 1514 Jun 13 15:58 /usr/local/etc/openldap/schema/openldap.schema
-r--r--r-- 1 root root 20467 Jun 13 15:58 /usr/local/etc/openldap/schema/pmi.schema
-r--r--r-- 1 root root 19603 Jun 13 15:58 /usr/local/etc/openldap/schema/ppolicy.schema
配置openldap
openldap的配置文件主要为/usr/local/openldap/etc/openldap/slapd.conf
#此句是用来将目录所用到的schema文件包含进来;openldap一般默认带有几个schema,在我们的配置文件安装目录下的schema目录中存 放。本句中的core.schema是LDAP V3中必须的,它给出了LDAP V3中最基本的attribute和objects的定义。其它的还有:corba.schema、dyngroup.schema、 java.schema nis.schema、openldap.schema、cosine.schema、 inetorgperson.schema、misc.schema、ppolicy.schema
#此句是用来将目录所用到的schema文件包含进来;openldap一般默认带有几个schema,在我们的配置文件安装目录下的schema目录中存 放。本句中的core.schema是LDAP V3中必须的,它给出了LDAP V3中最基本的attribute和objects的定义。其它的还有:corba.schema、dyngroup.schema、 java.schema nis.schema、openldap.schema、cosine.schema、 inetorgperson.schema、misc.schema、ppolicy.schema
include /usr/local/etc/openldap/schema/collective.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/duaconf.schema
include /usr/local/etc/openldap/schema/dyngroup.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/java.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema
include /usr/local/etc/openldap/schema/pmi.schema
include /usr/local/etc/openldap/schema/ppolicy.schema
#此句用来定义slapd进程运行时的pid文件,需要使用绝对路径。
pidfile /usr/local/openldap/var/run/slapd.pid
#此句用来定义包含当前正在运行的slapd进程所用到的命令行参数的文件,需要使用绝对路径。
argsfile /usr/local/openldap/var/run/slapd.args
#以下用来指定动态加载的后端模块。
# Load dynamic backend modules:
# modulepath /usr/local/openldap/libexec/openldap
# moduleload back_bdb.la
# moduleload back_ldap.la
# moduleload back_ldbm.la
# moduleload back_passwd.la
# moduleload back_shell.la
#以下是安全相关的声明语句。常用到的参数有五类,除了Require和security外还有Allow、Disallow和password-hash等。
Require参数用来使管理员指定访问目录时必须遵循的规则和条件;这种指定可以是全局的,也可以仅用来限制对某个后端数据库的访问限制。
security参数用来让管理员指定加强安全性的一般规则。
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64
以下主要是用来定义访问控制列表。
# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
# BDB database definitions
#######################################################################
#定义使用的后端数据存储方式。其后可以跟的值有bdb、ldbm、passwd和shell。bdb指使用Berkley DB 4数据库。
database bdb
#定义suffix,以下部分可以改作你的域名中相关的部分,如"dc=example,dc=com"。
suffix "dc=my-domain,dc=org"
#定义此目录的超级管理员帐号,类同于系统中的root。由于访问控制对此用户是不生效的,因此存在很大的安全隐患。建议安装配置及调试完成以后移除此帐号。
rootdn "cn=Manager,dc=mydomain,dc=org"
定义超级管理员帐号的密码,这里使用的是明文存储(secret即是其密码)的方式。
rootpw secret
这是极不安全的,建议使用加密方式存储,可以使用的加密方式有: CRYPT、MD5、SMD5、SHA和SSHA。产生加密密码散列的方法是使用slappasswd命令,用-h选项指明加密时使用的方式。示例如下:
# /usr/local/openldap/sbin/slappasswd -h {SSHA}
New password:
Re-enter new password:
{SSHA}k2H1GPM/95VfgsKg2jZv9hV+2GCH04hC
#这一句用来指定目录相关数据的存放位置。此目录最好只能由运行slapd进程的用户所有,推荐权限为700
directory /usr/local/openldap/var/openldap-data
#此句用来指定slapd索引时用到的attribute,eq指索引时的匹配规则。主要是用来优化查询的。常用到的匹配规则有:approx(模糊匹配, approximate)、eq(精确匹配,equality)、pres(现值匹配,若某记录的此attribute没有值则不进行匹配, presence)和sub (子串匹配,substring)。
index objectClass eq
导入数据
先建立一个创建起始结点所用的ldif文件
#vi init.ldif
输入以下内容(可以根据自己的需要修改)
dn: dc=mydomain,dc=org
#定义根结点
dc: mydomain
objectClass: top
objectClass: domain
dn: ou=people,dc=mydomain,dc=org
#定义一个OU
ou: people
objectClass: organizationalUnit
注意:ldif文件中,每一行中冒号后有一个空格,行尾一定不能有空格。不同记录一定要有空行,且不能包含空格。切记!
导入数据时,可以离线也可以在线操作,这边先示范如何使用离线import命令导入到目录中(要先关闭slapd进程)
#kill -INT `cat /usr/local/openldap/var/run/slapd.pid`
# /usr/local/openldap/sbin/slapadd -v -l ./init.ldif
bdb_db_open: Warning - No DB_CONFIG file found in directory /var/openldap/data-3: (2)
Expect poor performance for suffix dc=mydomain,dc=org.
added: "dc=mydomain,dc=org" (00000001)
added: "ou=people,dc=mydomain,dc=org" (00000002)
命令中:
-v选项表示启用verbose模式,即输出执行中的具体信息;
-l表示后面附加ldif文件。
其它常用的选项还有:
-d 指定debug向日志文件输出信息,后面跟日志级别
-f 指定要读取的配置文件
启动服务进程
#/usr/local/openldap/libexec/slapd
在线导入具体的记录信息ldif文件
#vi users.ldif
dn: cn=Tom Black,ou=people,dc=mydomain,dc=org
#定义人员1
cn: Tom Black
sn: Black
mail: tom@126.com
telephoneNumber: 371-6338-3522
objectClass: inetOrgPerson
dn: cn=Jerry Smith,ou=people,dc=mydomain,dc=org
#定义人员2
cn: Jerry Smith
sn: Smith
mail: jerry@sina.com
telephoneNumber: 371-6338-3521
objectClass: inetOrgPerson
导入ldif文件
# /usr/local/openldap/bin/ldapmodify -D "cn=Manager,dc=mydomain,dc=org" -W -x -a -f users.ldif
Enter LDAP Password:
adding new entry "cn=Tom Black,ou=people,dc=mydomain,dc=org"
adding new entry "cn=Jerry Smith,ou=people,dc=mydomain,dc=org"
命令中:
-D选项表示指定绑定到LDAP的DN;
-W表示提示用户输入密码;
-x表示使用简单身份验正方式,默认的是使用sasl进行验正;
-a表示将文件中的条目添加至目录中,默认情况下,ldapmodify只修改现有记录;
-f用来指定ldif文件;
配置文件中的高级功能使用方法
开启日志功能
要启用日志功能,需要在编译时指定--enable-debug 选项,默认是允许的。要打开slapd的日志功能,需要在slapd.conf中的全局配置段添加loglevel指令,并后跟一个十进制数字表示的日志级别,如下所示:
# Added logging parameters
loglevel 256
其日志级别如下所示:
-1 记录所有的信息
0 不记录debug
1 跟踪功能调用的信息
2 包处理的debug信息
4 丰富的debug信息
8 连接管理信息
16 包的收发信息
32 搜索过滤的处理过程
64 配置文件的处理过程
128 访问控制列表处理过程
256 连接、操作及其结果的统计数据
512 向客户端返回的结果的统计信息
1024 与shell后端的通信信息
2048 显示记录条目的分析信息
4096 数据库缓存处理信息
8192 数据库索引
16384 从服务器数据同步资源消耗处理信息
若要记录所有的debug日志,可以使用LOG_LEVEL4 syslogd系统日志来记录,这需要在slapd.conf中添加如下语句实现:
local4.debug /var/log/slapd.log
为BDB后端数据库实例指定在内存中的缓存空间大小
在如下句子后
DBDirectory: /usr/local/openldap/var/openldap-data
后添加:
DBCachesize: 2000
常见报错
1、ldapadd: no DN specified
ldif文件格式不正确,可能还有其他原因。之前就可以,为了解决中文的问题,转换了下格式结果出现这个问题,修改回来后解决。
2、ldap_add: Already exists (68)
这个问题容易明白,在一个dn下存在一个与新加entry相同cn或ou的其他entry
3、ldap_add: Invalid syntax (21)
我这里是其中包含中文编码的问题
4、ldap_add: No such object (32)
如:adding new entry "ou=jisuanjikexue,o=cqupt,dc=com"
表示父节点没有创建,需要先添加dn: ou=cqupt,dc=com
5、ldap_bind: Invalid credentials (49)
ldapadd -x -D "cn=Manager,o=cqupt,dc=com" -W -f webex.ldif 我的正确命令应该是这个。如果错写成 ldapadd -x -D "cn=Manager,o=cqupt,dc=com" -W -f webex.ldif 则会报上面的错误。 另外一个情况是ldif文件中的内容有错误。
6、configure: error: BDB/HDB: BerkeleyDB version incompatible
#export CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include"
#export LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.8/lib -R/usr/local/BerkeleyDB.4.8/lib"
#export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.8/lib"
环境变量问题:
env CPPFLAGS="-I
/usr/local/BerkeleyDB.4.8/include" LDFLAGS="-L
/usr/local/BerkeleyDB.4.8/lib" ./configure --prefix=/openldap_with_crypt --enable-modules --enable-ldbm --enable-crypt --enable-spasswd --enable-accesslog --enable-spasswd
参考至:
http://doc.linuxpk.com/28400.html
http://mengsir.blog.51cto.com/2992083/760890
http://mengsir.blog.51cto.com/2992083/760890
http://www.ibm.com/developerworks/cn/linux/l-openldap/
http://www.process.com/techsupport/installing_configuring_openldap.pdf
http://hi.baidu.com/cqmking/blog/item/2e3e93081376bb3be9248808.html
http://www.zytrax.com/books/ldap/ch5/
http://www.openldap.org/doc/admin24/appendix-common-errors.html
http://www.zytrax.com/books/ldap/ch5/
http://www.openldap.org/doc/admin24/appendix-common-errors.html
http://www.ithov.com/linux/100709_4.shtml
http://www.openldap.org/doc/admin24/
本文原创,转载请注明出处、作者
如有错误欢迎指正
邮箱:czmcj@163.com
发表评论
-
Linux OOM机制介绍
2018-06-06 11:27 3453Linux系统运行过程中,有时候会在message中看 ... -
Linux启动过程--从引导说起
2016-09-23 13:49 1174Linux的引导过程是一个用来初始化系统的程序。它包含了在打 ... -
基于案例学SQL优化第5周脚本
2015-04-12 19:35 0===============BEGIN=========== ... -
重启linux network服务/etc/resolv.conf信息丢失的解决方案
2014-11-13 13:38 3108修改/etc/resolv.conf,修改后重启服务 ser ... -
linux sudo 命令
2014-11-04 15:01 1325“Sudo”是Unix/Linux平台上的一个非常有用的工具 ... -
linux sudo,su和打开终端速度很慢
2014-11-04 09:42 4271一、症状sudo指令执行速度很慢,例如:sudo -u ro ... -
Linux NFS服务器的安装与配置
2014-10-15 00:00 1006一、NFS服务简介 N ... -
DISPLAY变量和xhost(原创)
2014-10-14 16:58 60563DISPLAY 在Linux/Unix类操作系统上, D ... -
Linux NTP配置详解 (Network Time Protocol)
2014-10-02 21:49 18487Network Time Protocol (NTP) ... -
Linux下DNS服务器的设置
2014-10-02 21:43 1460环境:要设的DNS机子 ... -
nslookup工具的使用方法
2014-10-02 21:35 6915配置好DNS服务器,添加 ... -
ntpd与ntpdate的区别
2014-10-02 17:57 1140之前配置ntpd的时候搜到一句话,印象很深刻,也觉得很有标题 ... -
认识/etc/fstab和/etc/mtab文件
2014-09-20 12:27 3158fstab fs tab(描述 各 ... -
扩展Linux swap分区 两种方法
2014-09-16 17:23 1539先来查询一下系统的swap [root@localhost ... -
vim切换tab标签快捷键
2014-06-22 17:16 19477这几天在学习VIM,在WIN7下装了GVIM,在折腾好配置文 ... -
如何看linux是32位还是64位
2014-04-27 14:09 1670查看linux机器是32位还是64位的方法:方法一:file ... -
iSCSI的配置(target/initiator)
2014-04-27 13:45 54466iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 ... -
linux kudzu作用与操作方法(原创)
2013-08-29 22:03 2860概述kudzu是在linux系统启动时用来检测硬件的,一般在 ... -
Linux下获取详细硬件信息的工具:Dmidecode命令详解
2013-08-29 21:52 2535Dmidecode 这款软件允许 ... -
DAS,NAS,SAN和ISCSI存储架构介绍(原创)
2013-06-23 10:22 16116DASDAS是Direct Attached Stor ...
相关推荐
### LDAP安装配置新手必看知识点详解 #### 一、LDAP简介 LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种应用层协议,主要用于查询、浏览和更新分布式目录信息和服务。OpenLDAP是一个...
LDAP(Lightweight Directory ...总的来说,LDAP 安装配置是一个涉及用户创建、数据库选择、服务启动和配置的过程。正确配置 LDAP 可以提供一个集中化的身份管理和授权中心,简化 IT 管理,并增强企业的信息安全。
在本文中,我们将深入探讨Open LDAP的安装与配置过程,以及如何在Windows环境下进行操作。 **一、Open LDAP的基本概念** Open LDAP基于Berkeley DB作为其后端数据库,提供了一个标准的LDAP接口,用于查询和修改...
本文档详细描述了Unix中常用的邮件服务器qmail的安装和配置过程,以及qmail和LDAP的整合,重点在于qmail的基本应用及其通过LDAPServer来进行Pop3认证的配置过程,对于其它诸如邮件网关、邮件虚拟域、邮件列表、SMTP...
在 Debian 系统中搭建 LDAP 服务器需要完成安装、配置和测试三个步骤。下面将详细讲解每个步骤的实现过程。 步骤1:安装LDAP 首先,需要安装 LDAP 服务器和相关工具。使用以下命令安装: ``` # apt-get install ...
《LDAP原理配置指南》 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,它源于X.500标准,但针对TCP/IP网络环境进行了简化,使得其在现代企业网络环境中得到了广泛的应用。飞塔信息技术...
总之,安装和配置LDAP服务器,并使用像LdapAdmin这样的客户端工具,对于管理和维护企业或组织的用户身份和权限信息至关重要。理解LDAP的基本概念和操作方法,将有助于你有效地管理Windows环境下的目录服务。
LDAP 安装和配置 LDAP( Lightweight Directory Access Protocol)是轻量级目录访问协议,用于存储和管理目录信息。它广泛应用于身份验证、授权和目录管理等领域。本文将介绍 LDAP 服务器的安装和配置过程。 一、...
1. **安装LDAP客户端库**:客户端需要安装适当的LDAP客户端库,以便能够连接到LDAP服务器并执行查询。 2. **配置LDAP搜索参数**:定义搜索基础DN以及其他搜索参数,如搜索过滤器、返回属性等。 3. **实现认证逻辑**...
本文档详细介绍了如何在linux系统下安装ldap、gerrit、gitweb的安装流程。还包括gerrit的ldap认证配置,gerrit+gitweb集成化安装部署流程。
Confluence 安装和 LDAP 集成 Confluence 是一个基于 Java 的 wiki 软件,广泛应用于企业知识管理、文档管理...通过以上步骤,可以成功地安装和配置 Confluence,並与 LDAP 集成,实现 LDAP 用户直接登录 Confluence。
通过以上步骤,你可以在Windows XP环境下成功安装并配置IBM LDAP。记住,安装只是第一步,后续的管理和维护同样重要,确保系统的稳定和安全运行。在实际操作中,务必参照IBM官方文档和最佳实践,以获得最佳的使用...
**LDAP(Lightweight Directory Access Protocol)详细配置指南** LDAP,轻量级目录访问协议,是一种用于访问和管理分布式目录服务的标准协议。它允许用户和应用程序查找、修改和管理存储在网络中的用户信息和资源...
【LDAP组件配置案例】 在IT领域, Lightweight Directory Access Protocol (LDAP) 是一种用于访问和管理分布式目录服务的开放标准协议。在文档“ldap组件配置案例.doc”中,主要讨论了如何在CAMS系统中集成LDAP组件...
LDAP安装介绍,主要介绍LDAP服务器以及客户端,在linux上的安装过程
### Maximo - LDAP 配置 #### 预备知识 **LDAP协议** - **定义**: 轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)是一种基于TCP/IP的应用层协议,用于访问和管理分布式环境下的目录服务。它...
这几天在研究LDAP安装,上网找了一大圈还是没整明白,经过无数次的失败和N小时的尝试中终于研究的差不多了。 下面简要说一下流程吧,希望对大家有所帮助: 主要参考:...