如何设置一个基本的OpenLDAP Server

如何设置一个基本的OpenLDAP   Server   
本文出自:http://www.linuxforum.net   作者:吴阿亭   Jephe   wu   (2001-09-04   15:00:01)   

            一.   目的     

            本文旨在介绍如何安装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=*) '     


            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     
  
### 关于 OpenLDAP 的使用指南、配置教程及常见问题解决方案 #### 一、OpenLDAP 基本概念与优势 OpenLDAP 是一种开源轻量级目录访问协议 (LDAP) 软件,支持最新的 LDAP 标准并提供多种扩展功能。它能够满足企业的复杂需求,例如自定义 schema、权限管理、密码策略、审计管理和高可用负载均衡等功能[^1]。 #### 二、OpenLDAP 配置教程 以下是 OpenLDAP基本配置流程: 1. **安装 OpenLDAP** 安装命令因操作系统而异。对于基于 Debian/Ubuntu 的系统,可以运行以下命令: ```bash sudo apt-get update sudo apt-get install slapd ldap-utils ``` 2. **初始化数据库** 初始化过程中会提示设置管理员密码和其他基础参数。如果需要重新配置,可以通过以下命令完成: ```bash sudo dpkg-reconfigure slapd ``` 3. **修改 Schema** 如果需要添加自定义属性或对象类,可以在 `/etc/ldap/schema` 下编辑现有的 schema 文件或将新的 schema 添加到此路径下。之后通过 `slapadd` 工具加载更改。 4. **配置 ACL(访问控制列表)** 编辑 `/etc/ldap/slapd.d/cn=config.ldif` 文件来定义用户的读取和写入权限。例如,允许特定组的成员更新数据: ```ldif olcAccess: {0}to * by group="cn=admin,dc=example,dc=com" write by users read by anonymous auth ``` 5. **启动服务** 启动并启用 OpenLDAP 服务以便开机自动运行: ```bash sudo systemctl start slapd sudo systemctl enable slapd ``` 6. **测试连接** 使用 `ldapsearch` 测试是否可以正常查询数据: ```bash ldapsearch -x -b "dc=example,dc=com" -D "cn=admin,dc=example,dc=com" -W ``` #### 三、常见问题及其解决方案 1. **无法绑定到 LDAP 服务器** 错误描述:尝试登录时显示 “Invalid credentials”。 解决方案:确认用户名和密码无误;检查 DN 是否拼写错误;确保客户端已正确配置 CA 证书以支持 SSL/TLS 连接[^3]。 2. **Schema 修改失败** 错误描述:执行 `slapadd` 报错,提示语法不合法。 解决方案:仔细核对新增加的 LDIF 文件内容是否有遗漏字段或者格式不符合规范的情况。推荐先用工具校验文件再导入。 3. **性能优化不足** 当面对大量条目检索时速度变慢。 推荐措施:调整索引设置,在重要属性上创建正向反向索引来加速查找过程。具体操作如下: ```ldif index objectClass eq,pres index cn,sn,givenName eq,subinitial ``` 4. **多实例部署冲突** 若在同一台机器上试图建立多个独立实例,则需注意端口分配避免重叠。可通过修改监听地址和服务端口号解决该情况。 #### 四、与其他系统的集成案例 当 multiOTP 插件用于双因素认证时,可指定其使用的 LDAP 类型为 OpenLDAP 。这通常涉及设置相应的选项如 `-config ldap-server-type=1` 来表明目标环境特性[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值