前言

参考资料:

  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

centos(6-7)安装openldap的更多相关文章

  1. centos安装openldap过程

    1.下载软件如下,db是数据库 2.首先安装数据库db # tar xf db-4.8.30.tar.gz # cd db-4.8.30 # cd build_unix/ (# ../dist/con ...

  2. Centos6 yum安装openldap+phpldapadmin+TLS+双主配置

    原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...

  3. CentOS6.5安装openLdap

    一.关闭防火墙和selinux 关闭防火墙 chkconfig iptables off service iptables stop 关闭selinux vim /etc/selinux/config ...

  4. CentOS7安装OpenLDAP+MySQL+PHPLDAPadmin

    安装环境:CentOS 7 1.安装和设置数据库 在CentOS7下,默认安装的数据库为MariaDB,属于MySQL数据库的一个分支,所以我还是使用了MariaDB.安装命令为: [root@loc ...

  5. [转帖]CentOS下iRedMail安装配置

    CentOS下iRedMail安装配置 中文名为艾瑞得邮件,由 rhms 项目更名而来.是针对 Linux 设计的邮件服务器解决方案,是在操作系统安装好后使用的一套 shell 脚本,用于快速部署一套 ...

  6. CentOS 6.4安装配置ldap

    CentOS 6.5安装配置ldap 时间:2015-07-14 00:54来源:blog.51cto.com 作者:"ly36843运维" 博客 举报 点击:274次 一.安装l ...

  7. Centos 7 集成安装Apache+PHP+Kerberos+LDAP+phpLDAPadmin

    一.安装Apache 1.1.安装Apache Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速.可靠.简单的API扩展. 它的名字取自美国印第安人土 ...

  8. Centos 7 下安装LDAP 双主同步

    Centos 7 下安装LDAP 双主同步 标签(空格分隔): LDAP 安装说明: 从OpenLDAP2.4.23版本开始所有配置数据都保存在slapd.d目录下的cn=config文件夹中,不再使 ...

  9. MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记

    MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记 说明 以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...

  10. Centos、Ubuntu 安装 Mono、Jexus

    Mono是.NET的跨平台实现 在众多关于语言的争论中,.NET一直被以不能跨平台而诟病,Mono改变了这一现状. 有人当心Mono会涉及版权啥的问题.高深的偶不懂,不过我觉得Unity3D都能用,为 ...

随机推荐

  1. 【leetcode】486. Predict the Winner

    题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...

  2. 对Promise的研究2

    3.Promise.prototype.then() Promise 实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的.它的作用是为 Promise ...

  3. 迁移数据时 timestamp类型字段报错: 1067 - Invalid default value for 'login_time'

    MySQL数据库升级 8.0.13,原版本5.5:执行导出来的SQL文件时报错 1067 - Invalid default value for 'login_time' 原因:MySQL 5.6以后 ...

  4. HY 的惩罚 (Trie 树,博弈论)

    [问题描述] hy 抄题解又被老师抓住了,现在老师把他叫到了办公室. 老师要 hy 和他玩一个游 戏.如果 hy 输了,老师就要把他开除信息组; 游戏分为 k 轮.在游戏开始之前,老师会将 n 个由英 ...

  5. 『转』一千行MySQL学习笔记

    /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysq ...

  6. (转)【mysql元数据库】使用information_schema.tables查询数据库和数据表信息 ---数据记录大小统计

    转:https://www.cnblogs.com/ssslinppp/p/6178636.html https://segmentfault.com/q/1010000007268994?_ea=1 ...

  7. eureka注册中心wro.css wro.js 404

    注册中心和配置中心放在一个module里面,如果不配置配种中心的访问前缀,会被config拦截.所以改动如下: package com.cloud.stagging.lhcloudeureka; im ...

  8. ruby+selenium-webdriver测试

    参考这里的博客https://www.cnblogs.com/smiling007/p/5116662.html

  9. 初步学习JS中的闭包

    JS高级程序设计(3rd)中对闭包的定义就是一句话,首先闭包是一个函数,怎样的函数呢?有权访问另一个函数作用域中的变量 的函数.而创建闭包的常见方式就是在一个函数的内部创建另一个函数,就是嵌套函数. ...

  10. windows 命令端口映射

    显示映射列表netsh interface portproxy show all 将本地的1234端口的数据转发至192.168.x.x上的1234端口netsh interface portprox ...