更多精彩请到 http://www.139ya.com
http://directory.apache.org/studio/
Download : http://directory.apache.org/studio/downloads.html
Showing posts with label LDAP. Show all posts
Showing posts with label LDAP. Show all posts
Monday, July 27, 2009
Sunday, May 10, 2009
Tuesday, April 21, 2009
设置一个基本的OpenLDAP Server
更多精彩请到 http://www.139ya.com
Berkeley DB : http://www.oracle.com/technology/products/berkeley-db/db/index.html
下载BerkeleyDB
[root@rhas4min79 openldap-2.4.16]# tar zxvf openldap-db-4.7.25.tar.gz
[root@rhas4min79 openldap-2.4.16]# cd soft/db-4.7.25/build_unix/
[root@rhas4min79 openldap-2.4.16]# ../dist/configure --prefix=/usr/local/BerkeleyDB/
#make
#make install
BerkeleyDB安装结束,开始安装OPENLDAP,下载openldap
设置环境变量
export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB/lib -R/usr/local/BerkeleyDB/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB/lib"
# tar zxvf openldap-2.4.16.tgz
# cd openldap-2.4.16
# ./configure --prefix=/usr/local/openldap
# make depend
# make
# make test
# make install
设置一个基本的OpenLDAP Server
一. 目的
本文旨在介绍如何安装OpenLDAP并且设置一个公司内部的集中化的邮件地址薄服务器供客户端查询。
基本上,OpenLDAPg还应用在其它许多方面,象集中化的用户帐号验证服务器,但邮件地址薄查询是最常用的。
二. 安装
从www.openldap.org下载最新的openldap软件包,按照编译和安装的步骤,依次运行:
#tar cvfz openldap-stable-20010524.tgz
#cd openldap-2.0.11
#./configure
#make depend
#make
#make test
#make install
我的操作环境是redhat 6.1,如果没有遇到任何错误,最后默认安装LDAP后台程序slapd到目录/usr/local/libexec;配置文件在目录/usr/local/etc/openldap/ 并且放各种OpenLDAP工具
ldapadd,ldapdelete,ldapmodify,ldapmodrdn,ldappasswd,ldapsearch在目录/usr/local/bin,运行时数据库在/usr/local/var/openldap-ldbm。
三. 设置
1) 更改配置文件/usr/local/etc/openldap/slapd.conf
在include /usr/local/etc/openldap/schema/core.schema这行后面加上下面的行,包括所有的方案。
include /usr/local/etc/openldap/schema/corba.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/java.schema
include /usr/local/etc/openldap/schema/krb5-kdc.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nadf.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema
2) 在文件slapd.conf的"ldbm database definitions"部分更改相应的suffix,rootdn行如下
database ldbm
suffix "o=yourdomain,c=us"
rootdn "cn=root,o=yourdomain,c=us"
rootpw secret
directory /usr/local/var/openldap-ldbm
有各种格式你可以用,这里我用的是o=yourdomain,c=us 说明你的公司域名和所在的国家或地区。
rootdn的格式安装后默认为cn=Manager,这里改为root完全是自己的喜好,这样符合Unix/Linux中root具有最高权限的传统。
3) 现在可以启动slapd了,运行/usr/local/libexec/slapd 。
可以考虑把/usr/local/bin and /usr/local/libexec加到搜索路径中,即加到/etc/profile
中的PATH行:
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/libexec"
这样下次登录后只需键入 slapd 。
4) 测试ldap server是否正常工作。
运行下面的命令检查是否有相应的输出。
#ldapsearch -x -b 'o=yourdomain,c=us' '(objectclass=*)'
陈绪先生注:有误,应该为
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
或者
ldapsearch -x -b '' -s base '(objectclass=*)'
5) 编辑.ldif文本文件,用ldapadd添加记录进入LDAP数据库。
文件内容如下:
dn: o=yourdomain,c=us
objectclass: dcobject
objectclass: organization
o: yourdomain
dc: yourdomain
dn: cn=Jephe Wu,o=yourdomain,c=us
objectclass: inetorgperson
cn: Jephe Wu
sn: Wu
mail: jephe_wu@yourdomain.com
......more users......
依次类推,添加每个人的记录进入该文件中,注意对象类型 inetorgperson 至少必须要有cn和sn,这里我们用cn,sn,mail三项定义,这对我们的邮件地址薄功能来说已经足够。你还可以定义象mobile, homephone,pager......等等。
然后用下面的命令添加上面的.ldif文件进入LDAP数据库
#ldapadd -x -D "cn=root,o=yourdomain,c=us" -w secret -f "yourldiffilename"
注:上面的文件的第一部分"dn: o=yourdomain,c=us"是必须的,否则不能添加数据。
用你的公司的域名替换上面的"yourdomain"。
6) 设置Outlook Express, 允许用LDAP服务器查询邮件地址。
"工具/帐号/添加--目录服务",填入你的服务器的IP地址或者主机全称域名,在下一个屏幕中选yes以允许用目录服务来查询地址,最后在"目录服务"栏中选中刚才设置的项目击“属性/高级",在"搜索库"中填入"o=yourdomain,c=us"。
Netscape请根据上面的信息设置相应的选项。
四. 常见使用问题
1) 能启动slapd 没有问题,但不能添加数据库,运行ldapadd添加时出错 "ldap_bind:cannot contact LDAP Server" 。
答: 最可能的原因是在/etc/hosts中没有127.0.0.1 localhost项目。
2) 注意查询顺序: 如果在Outlook Express的地址薄中有内容,则检查地址时地址薄优先,如果在本地地址薄中找不到相应记录,然后再查询LDAP服务器。
3) 用下面的命令确信客户端与LDAP服务器有通讯,在服务器运行下面的命令,然后在OE中测试检查地址,你将会得到查询LDAP数据库的连接过程的输出。
# tcpdump port 389
Berkeley DB : http://www.oracle.com/technology/products/berkeley-db/db/index.html
下载BerkeleyDB
[root@rhas4min79 openldap-2.4.16]# tar zxvf openldap-db-4.7.25.tar.gz
[root@rhas4min79 openldap-2.4.16]# cd soft/db-4.7.25/build_unix/
[root@rhas4min79 openldap-2.4.16]# ../dist/configure --prefix=/usr/local/BerkeleyDB/
#make
#make install
BerkeleyDB安装结束,开始安装OPENLDAP,下载openldap
设置环境变量
export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB/lib -R/usr/local/BerkeleyDB/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB/lib"
# tar zxvf openldap-2.4.16.tgz
# cd openldap-2.4.16
# ./configure --prefix=/usr/local/openldap
# make depend
# make
# make test
# make install
设置一个基本的OpenLDAP Server
一. 目的
本文旨在介绍如何安装OpenLDAP并且设置一个公司内部的集中化的邮件地址薄服务器供客户端查询。
基本上,OpenLDAPg还应用在其它许多方面,象集中化的用户帐号验证服务器,但邮件地址薄查询是最常用的。
二. 安装
从www.openldap.org下载最新的openldap软件包,按照编译和安装的步骤,依次运行:
#tar cvfz openldap-stable-20010524.tgz
#cd openldap-2.0.11
#./configure
#make depend
#make
#make test
#make install
我的操作环境是redhat 6.1,如果没有遇到任何错误,最后默认安装LDAP后台程序slapd到目录/usr/local/libexec;配置文件在目录/usr/local/etc/openldap/ 并且放各种OpenLDAP工具
ldapadd,ldapdelete,ldapmodify,ldapmodrdn,ldappasswd,ldapsearch在目录/usr/local/bin,运行时数据库在/usr/local/var/openldap-ldbm。
三. 设置
1) 更改配置文件/usr/local/etc/openldap/slapd.conf
在include /usr/local/etc/openldap/schema/core.schema这行后面加上下面的行,包括所有的方案。
include /usr/local/etc/openldap/schema/corba.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/java.schema
include /usr/local/etc/openldap/schema/krb5-kdc.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nadf.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema
2) 在文件slapd.conf的"ldbm database definitions"部分更改相应的suffix,rootdn行如下
database ldbm
suffix "o=yourdomain,c=us"
rootdn "cn=root,o=yourdomain,c=us"
rootpw secret
directory /usr/local/var/openldap-ldbm
有各种格式你可以用,这里我用的是o=yourdomain,c=us 说明你的公司域名和所在的国家或地区。
rootdn的格式安装后默认为cn=Manager,这里改为root完全是自己的喜好,这样符合Unix/Linux中root具有最高权限的传统。
3) 现在可以启动slapd了,运行/usr/local/libexec/slapd 。
可以考虑把/usr/local/bin and /usr/local/libexec加到搜索路径中,即加到/etc/profile
中的PATH行:
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/libexec"
这样下次登录后只需键入 slapd 。
4) 测试ldap server是否正常工作。
运行下面的命令检查是否有相应的输出。
#ldapsearch -x -b 'o=yourdomain,c=us' '(objectclass=*)'
陈绪先生注:有误,应该为
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
或者
ldapsearch -x -b '' -s base '(objectclass=*)'
5) 编辑.ldif文本文件,用ldapadd添加记录进入LDAP数据库。
文件内容如下:
dn: o=yourdomain,c=us
objectclass: dcobject
objectclass: organization
o: yourdomain
dc: yourdomain
dn: cn=Jephe Wu,o=yourdomain,c=us
objectclass: inetorgperson
cn: Jephe Wu
sn: Wu
mail: jephe_wu@yourdomain.com
......more users......
依次类推,添加每个人的记录进入该文件中,注意对象类型 inetorgperson 至少必须要有cn和sn,这里我们用cn,sn,mail三项定义,这对我们的邮件地址薄功能来说已经足够。你还可以定义象mobile, homephone,pager......等等。
然后用下面的命令添加上面的.ldif文件进入LDAP数据库
#ldapadd -x -D "cn=root,o=yourdomain,c=us" -w secret -f "yourldiffilename"
注:上面的文件的第一部分"dn: o=yourdomain,c=us"是必须的,否则不能添加数据。
用你的公司的域名替换上面的"yourdomain"。
6) 设置Outlook Express, 允许用LDAP服务器查询邮件地址。
"工具/帐号/添加--目录服务",填入你的服务器的IP地址或者主机全称域名,在下一个屏幕中选yes以允许用目录服务来查询地址,最后在"目录服务"栏中选中刚才设置的项目击“属性/高级",在"搜索库"中填入"o=yourdomain,c=us"。
Netscape请根据上面的信息设置相应的选项。
四. 常见使用问题
1) 能启动slapd 没有问题,但不能添加数据库,运行ldapadd添加时出错 "ldap_bind:cannot contact LDAP Server" 。
答: 最可能的原因是在/etc/hosts中没有127.0.0.1 localhost项目。
2) 注意查询顺序: 如果在Outlook Express的地址薄中有内容,则检查地址时地址薄优先,如果在本地地址薄中找不到相应记录,然后再查询LDAP服务器。
3) 用下面的命令确信客户端与LDAP服务器有通讯,在服务器运行下面的命令,然后在OE中测试检查地址,你将会得到查询LDAP数据库的连接过程的输出。
# tcpdump port 389
Labels:
LDAP
Compiling OpenLDAP on Cygwin
更多精彩请到 http://www.139ya.com
转自: http://the.taoofmac.com/space/OpenLDAP
Compiling OpenLDAP on Cygwin
OpenLDAP is an Open Source LDAPv3 implementation (clients, libraries, and servers).
Compiling it for Windows on recent versions of Cygwin without any extra libraries is simply a matter of doing:
./configure --disable-bdb --enable-ldbm --enable-ldap \
--enable-passwd --enable-shell
And then replacing bdb with ldbm for the database type in /usr/local/etc/openldap/slapd.conf.
转自: http://the.taoofmac.com/space/OpenLDAP
Compiling OpenLDAP on Cygwin
OpenLDAP is an Open Source LDAPv3 implementation (clients, libraries, and servers).
Compiling it for Windows on recent versions of Cygwin without any extra libraries is simply a matter of doing:
./configure --disable-bdb --enable-ldbm --enable-ldap \
--enable-passwd --enable-shell
And then replacing bdb with ldbm for the database type in /usr/local/etc/openldap/slapd.conf.
Labels:
LDAP
LDAP 基本概念
更多精彩请到 http://www.139ya.com
http://tldp.org/HOWTO/LDAP-HOWTO/index.html
Appendix E: LDAP - Object Classes and Attributes: http://www.zytrax.com/books/ldap/ape/
Tips for LDAP Users: http://java.sun.com/products/jndi/tutorial/ldap/index.html
OpenLDAP Setup Overview: http://jamesthornton.com/redhat/linux/9/Reference-Guide/s1-ldap-quickstart.html
A Quick-Start Guide : http://www.openldap.org/doc/admin24/quickstart.html
LDAP Linux HOWTO : http://www.redhat.com/mirrors/LDP/HOWTO/LDAP-HOWTO/
dn :一条记录的位置
dc :一条记录所属区域
ou :一条记录所属组织
cn/uid:一条记录的名字/ID
http://tldp.org/HOWTO/LDAP-HOWTO/index.html
Appendix E: LDAP - Object Classes and Attributes: http://www.zytrax.com/books/ldap/ape/
Tips for LDAP Users: http://java.sun.com/products/jndi/tutorial/ldap/index.html
OpenLDAP Setup Overview: http://jamesthornton.com/redhat/linux/9/Reference-Guide/s1-ldap-quickstart.html
A Quick-Start Guide : http://www.openldap.org/doc/admin24/quickstart.html
LDAP Linux HOWTO : http://www.redhat.com/mirrors/LDP/HOWTO/LDAP-HOWTO/
dn :一条记录的位置
dc :一条记录所属区域
ou :一条记录所属组织
cn/uid:一条记录的名字/ID
Labels:
LDAP
LDAP 查询基本知识
更多精彩请到 http://www.139ya.com
转自: http://www.cnblogs.com/xray2005/archive/2008/05/07/1187504.html
LDAP 查询基本知识
基本 LDAP 语法
•
=(等于)
此 LDAP 参数表明某个属性等于某个值的条件得到满足。例如,如果希望查找“名“属性为“John”的所有对象,可以使用:
(givenName=John)
这会返回“名”属性为“John”的所有对象。圆括号是必需的,以便强调 LDAP 语句的开始和结束。
•
&(逻辑与)
如果具有多个条件并且希望全部条件都得到满足,则可使用此语法。例如,如果希望查找居住在 Dallas 并且“名”为“John”的所有人员,可以使用:
(&(givenName=John)(l=Dallas))
请注意,每个参数都被属于其自己的圆括号括起来。整个 LDAP 语句必须包括在一对主圆括号中。操作符 & 表明,只有每个参数都为真,才会将此筛选条件应用到要查询的对象。
•
!(逻辑非)
此操作符用来排除具有特定属性的对象。假定您需要查找“名”为“John”的对象以外的所有对象。则应使用如下语句:
(!givenName=John)
此语句将查找“名”不为“John”的所有对象。请注意:! 操作符紧邻参数的前面,并且位于参数的圆括号内。由于本语句只有一个参数,因此使用圆括号将其括起以示说明。
•
*(通配符)
可使用通配符表示值可以等于任何值。使用它的情况可能是:您希望查找具有职务头衔的所有对象。为此,可以使用:
(title=*)
这会返回“title”属性包含内容的所有对象。另一个例子是:您知道某个对象的“名”属性的开头两个字母是“Jo”。那么,可以使用如下语法进行查找:
(givenName=Jo*)
这会返回“名”以“Jo”开头的所有对象。
•
以下是 LDAP 语法的高级使用示例:
•
您需要一个筛选条件,用来查找居住在 Dallas 或 Austin,并且名为“John”的所有对象。使用的语法应当是:
(&(givenName=John)(|(l=Dallas)(l=Austin)))
•
您发现应用程序日志中有 9,548 个事件,因此需要查找导致这些日志事件的所有对象。在此情况下,您需要查找所有被禁用的用户 (msExchUserAccountControl=2),这些用户的 msExchMasterAccountSID 没有值。使用的语法应当是:
(&(msExchUserAccountControl=2)(!msExchMasterAccountSID=*))
注意:
! 操作符与通配符的结合使用可查找属性未设置为任何值的对象。
摘自:www.microsoft.com
转自: http://www.cnblogs.com/xray2005/archive/2008/05/07/1187504.html
LDAP 查询基本知识
基本 LDAP 语法
•
=(等于)
此 LDAP 参数表明某个属性等于某个值的条件得到满足。例如,如果希望查找“名“属性为“John”的所有对象,可以使用:
(givenName=John)
这会返回“名”属性为“John”的所有对象。圆括号是必需的,以便强调 LDAP 语句的开始和结束。
•
&(逻辑与)
如果具有多个条件并且希望全部条件都得到满足,则可使用此语法。例如,如果希望查找居住在 Dallas 并且“名”为“John”的所有人员,可以使用:
(&(givenName=John)(l=Dallas))
请注意,每个参数都被属于其自己的圆括号括起来。整个 LDAP 语句必须包括在一对主圆括号中。操作符 & 表明,只有每个参数都为真,才会将此筛选条件应用到要查询的对象。
•
!(逻辑非)
此操作符用来排除具有特定属性的对象。假定您需要查找“名”为“John”的对象以外的所有对象。则应使用如下语句:
(!givenName=John)
此语句将查找“名”不为“John”的所有对象。请注意:! 操作符紧邻参数的前面,并且位于参数的圆括号内。由于本语句只有一个参数,因此使用圆括号将其括起以示说明。
•
*(通配符)
可使用通配符表示值可以等于任何值。使用它的情况可能是:您希望查找具有职务头衔的所有对象。为此,可以使用:
(title=*)
这会返回“title”属性包含内容的所有对象。另一个例子是:您知道某个对象的“名”属性的开头两个字母是“Jo”。那么,可以使用如下语法进行查找:
(givenName=Jo*)
这会返回“名”以“Jo”开头的所有对象。
•
以下是 LDAP 语法的高级使用示例:
•
您需要一个筛选条件,用来查找居住在 Dallas 或 Austin,并且名为“John”的所有对象。使用的语法应当是:
(&(givenName=John)(|(l=Dallas)(l=Austin)))
•
您发现应用程序日志中有 9,548 个事件,因此需要查找导致这些日志事件的所有对象。在此情况下,您需要查找所有被禁用的用户 (msExchUserAccountControl=2),这些用户的 msExchMasterAccountSID 没有值。使用的语法应当是:
(&(msExchUserAccountControl=2)(!msExchMasterAccountSID=*))
注意:
! 操作符与通配符的结合使用可查找属性未设置为任何值的对象。
摘自:www.microsoft.com
Labels:
LDAP
Monday, February 23, 2009
Subscribe to:
Posts (Atom)