LDAP服务器快速安装指南

本文主要介绍如何使用OpenLDAP快速搭建LDAP 服务器。
LDAP是Lightweight Directory Access Protocal的缩写,中文名为轻量目录访问协议。网上介绍LDAP的文章很多,大都讲得很复杂,第一次接触LDAP的读者,可以把LDAP看成一本通讯簿,这个通讯簿记录诸如名称、公司、部门、地址、电话号码、Email等信息,可用于跨平台集中查询和验证。

  1. 安装OpenLDAP:

  2. # yum -y openldap openldap-servers openldap-clients
    
  3. 配置OpenLDAP:

    1. 配置slapd.conf

    2. 安装完之后/etc/openldap目录下是没有slapd.conf文件的,需要把模板文件从/usr/share/openldap-servers目录拷贝过来:

      # cp /user/share/openldap-servers/slapd.conf.obsolete /etc/openldap/

      然后编辑slapd.conf文件的suffix、rootdn、rootpw等选项,使之适合自己的环境。完成之后大概是这个样子:

      suffix "dc=quenywell,dc=com"
      rootdn "cn=root,dc=quenywell,dc=com"
      rootpw {SSHA}REjaVM3NKaFzZA37jlVe2aAKFaij8zvr
      access to *
      by dn.exact="cn=root,dc=quenywell,dc=com" read
      by * none
      directory /var/lib/ldap
      

      其中rootpw的密码可以用slappasswd命令生成,然后复制粘贴到slapd.conf文件里:

      # slappasswd
      New password:
      Re-enter new password:
      {SSHA}REjaVM3NKaFzZA37jlVe2aAKFaij8zvr
      
    3. 生成配置数据

    4. OpenLDAP服务slapd启动时从/etc/openldap/slapd.d目录读取数据,而不是从slapd.conf文件读取。所以需要利用slapd.conf生成新的配置数据。
      删除旧数据:

      # rm -rf /etc/openldap/slapd.d/*

      生成新数据:

      # slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
      config file testing succeeded
      

      可以打开olcDatabase 文件确认信息是否正确:

      # cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
      dn: olcDatabase={2}bdb
      objectClass: olcDatabaseConfig
      objectClass: olcBdbConfig
      olcDatabase: {2}bdb
      olcSuffix: dc=quenywell,dc=com
      olcAddContentAcl: FALSE
      olcLastMod: TRUE
      olcMaxDerefDepth: 15
      olcReadOnly: FALSE
      olcRootDN: cn=root,dc=quenywell,dc=com
      olcDbDirectory: /var/lib/ldap
      

      设置权限:

      # chown -R ldap:ldap /etc/openldap/slapd.d

      注意:如果在没有生成新的配置数据之前启动LDAP服务,OpenLDAP将使用默认的配置,此时使用ldapadd增加数据时会出现以下错误:

      ldap_bind: Invalid credentials (49)
    5. 创建dbd配置文件

    6. slapd.conf中指定将数据放在/var/lib/ldap目录中,所以要把DB_CONFIG文件放置于此目录:

      # cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
      # chown ldap:ldap /var/lib/ldap/DB_CONFIG
      

      注意:若没有创建dbd配置文件,启动slapd服务时会报错:

      bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).
  4. 启动OpenLDAP服务

  5. # /etc/init.d/slapd start
    Starting slapd: [ OK ]
    

    设置LDAP随系统启动:

    # chkconfig slapd on
  6. 导入数据

  7. 首先创建一个ldif文件,保存为example.ldif,内容如下:

    # The Organization
    dn: dc=quenywell,dc=com
    dc: quenywell
    objectClass: dcObject
    objectClass: organizationalUnit
    ou: quenywell.com
    
    # The organizational unit PEOPLE
    dn: ou=people,dc=quenywell,dc=com
    objectClass: organizationalUnit
    ou: people
    

    使用ldapadd命令导入ldif文件:

    $ ldapadd -x -D "cn=root,dc=quenywell,dc=com" -W -f example.ldif
    Enter LDAP Password:
    adding new entry "dc=quenywell,dc=com"
    adding new entry "ou=people,dc=quenywell,dc=com"
    

    提示输入的密码时,输入用于生成rootpw时使用的密码。
    命令行参数说明:

    -x 使用简单验证,而非SASL验证方式
    -D 指定使用的DN(相当于帐号)
    -W 提示输入DN密码(相当于帐号密码)
    -f 从ldif文件中读入信息
    
  8. 验证数据导入是否正确

  9. $ ldapsearch -x -D 'cn=root,dc=quenywell,dc=com' – W -b 'dc=quenywell,dc=com'
    # extended LDIF
    #
    # LDAPv3
    # base <dc=quenywell,dc=com> with scope subtree
    # filter: (objectclass=*)
    # requesting: ALL
    #
    
    # quenywell.com
    dn: dc=quenywell,dc=com
    dc: quenywell
    objectClass: dcObject
    objectClass: organizationalUnit
    ou: quenywel.com
    
    # it, quenywell.com
    dn: ou=people,dc=quenywell,dc=com
    objectClass: organizationalUnit
    ou: people
    
    # search result
    search: 2
    result: 0 Success
    
    # numResponses: 3
    # numEntries: 2
    

    命令行参数说明:

    -x 使用简单验证,而非SASL验证方式
    -D 指定使用的DN(相当于帐号)
    -W 提示输入DN密码(相当于帐号密码)
    -b 指定查询的根节点
    

至此,LDAP服务器已经安装完成。OpenLDAP官方快速安装指南(英文)可以在这里找到。
(完)


除非注明,科威网文章均为原创。转载请以链接形式标明本文地址。
本文地址:http://quenywell.com/ldap-server-installation-quick-start-guide/

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注