zoukankan      html  css  js  c++  java
  • centos(6-7)安装openldap

    前言

    参考资料:

      http://yhz61010.iteye.com/blog/2352672

      https://www.cnblogs.com/lemon-le/p/6266921.html

    实验环境centos6,如果用centos7,新版移除了slapd.conf配置文件,改为动态的config配置,菜鸟还是习惯slapd.conf文件方式,两者区别不是很大,如果用

    slapd.conf配置,每次配置后需要重新生成配置,有点麻烦,而动态的config配置不需要重新生成.

    安装

    1.yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap

    2.看下目录结构

    3.几个重要的配置文件

        两个模版文件

              /usr/share/openldap-servers/slapd.conf.obsolete 模版配置文件

             /usr/share/openldap-servers/DB_CONFIG.example  模版数据库配置文件

       主配置文件

             /etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等

            /etc/openldap/slapd.d/*:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要重新生成

       模式文件

            /etc/openldap/schema/*:OpenLDAP的schema存放的地方  //模式文件就是一个objectClass对象的模版,比如一个电话本模式文件,里面有很多属性。就是说用ldapadd添加一个条目,把条目理解为数据库的一个主键,一个主键里必须有一个objectClass并必须有一个属性值.

        数据文件

             /var/lib/ldap/*:OpenLDAP的数据文件

    4.初始化配置文件

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

       cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

    5.修改主配置文件

       vi /etc/openldap/slapd.conf

      

       解释:

           114行,指明用的什么数据库

            115行,根节点.ldap默认采用dns的命名方式比如域名wan.com 就写出 dc=wan,dc=com

            117行,生成个管理员帐号,记住这个帐号名是"cn=Manager,dc=wan,dc=com" 而不是 Manager

            121行,密码,可以明文,可以加密.

           生成个密文

                                

                           把红色密文粘贴到rootpw 后面

         找到access to 部门对着修改下:

       

    6.配置文件修改后,重新生成配置文件

        顺序:

             1.删除原有的生成的配置文件

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

              2.重新生成

             slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

            3.授权

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

             4.重启

              /etc/init.d/slapd restart

    7.查看下修改后的配置信息

           cat /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif

           

    增删改查

     1.查:

       ldap默认匿名用户是打开的,所以可以直接执行:

       ldapsearch -x -b "dc=wan,dc=com"

       

       搜索结果两条

       关掉匿名用户查看方法:

       ldapsearch -x  -D "cn=manager,dc=wan,dc=com"  -W  -b "dc=wan,dc=com"

       解释:-x 表示用普通方式访问 -D 管理员帐号 -W 提示输入密码 -b 搜索字段

     2.添加:

       vi people.ldif

       dn: ou=people,dc=wan,dc=com

    objectclass: top
    objectclass: organizationalUnit
    ou: people

       这是一个组织单元,

        ldapadd -x -D "cn=Manager,dc=wan,dc=com" -W -f people.ldif   

     在这个单元下面,添加一个t3的成员

        vi t3.ldif

          dn: cn=t3,ou=people,dc=wan,dc=com

          cn: t3

         givenname: t3   

         mail: t1@wq.com
         objectclass: inetOrgPerson
         objectclass: top
         sn: t3
         uid: t3
        userpassword: 123456

         ldapadd -x -D "cn=Manager,dc=wan,dc=com" -W -f t3.ldif  

     3.删除

       ldapdelete -x  -D   "cn=Manager1,dc=wan,dc=com"  "cn=t3,ou=people,dc=wan,dc=com" -W

    4.修改

       vi t2_mod.ldif   

       dn: cn=t1 t2,ou=people,dc=wan,dc=com
       changetype: modify
       replace: userpassword
       userpassword: 123456789

       ldapmodify -x -D "cn=manager1,dc=wan,dc=com" -W -f t2_mod.ldif 

    暂时在这................ 

    OpenLDAP 2.4 禁止匿名用户访问

    直接在命令行下粘贴进去

    ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF
    dn: cn=config 
    changetype: modify
    add: olcDisallows
    olcDisallows: bind_anon
    EOF
     
    ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF
    dn: olcDatabase={-1}frontend,cn=config 
    changetype: modify
    add: olcRequires
    olcRequires: authc
    EOF

    #cn=config配置方法

    参考连接:http://blog.csdn.net/umke888/article/details/54380507

    初始化安装后

    cd /etc/openldap//cn=config/

    vi olcDatabase={2}

    增加一行

    olcRootPW: 123456 

    修改域信息

    olcSuffix: dc=ixmsoft,dc=com

    olcRootDN: cn=Manager,dc=ixmsoft,dc=com

    2.导入基本 Schema   参考连接:http://yhz61010.iteye.com/blog/2352672

    1. cd /etc/openldap/schema/  
    2. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif  
    3. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif  
    4. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif  
    5. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif  
    6. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif  
    7. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif  
    8. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif  
    9. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif  
    10. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif  
    11. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif  
    12. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif  
    13. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif  
    14. ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif 

    增加日志倒入

          参考连接:https://www.cnblogs.com/donneyliu/p/Centos-Openldap-Server-Log-Anon-OlcAccess.html

     ldap日志配置

    创建个logging.ldif文件,添加下面的信息:

    dn: cn=config

    changetype: modify

    replace: olcLogLevel

    olcLogLevel: stats

    倒入修改后的配置:
    ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging.ldif

  • 相关阅读:
    poj_1323 Game Prediction 贪心
    hdu_2391 Filthy Rich DP
    hdu_2570 迷障 贪心
    23种设计模式——结构型设计模式(7种)
    23种设计模式——创建型设计模式(5种)
    面向对象设计原则
    Android Studio常用配置
    [转]探索 Android 内存优化方法
    Java内存管理机制
    JNI与NDK简析(一)
  • 原文地址:https://www.cnblogs.com/whf191/p/8480132.html
Copyright © 2011-2022 走看看