前言

参考资料:

  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. Spring中@Async-异步处理

    在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后, ...

  2. webService接口的py文件打包成exe

    (一)webService接口的py文件打包成exe,在python3.5版本.pyInstaller3.2版本.pywin32-219.win-amd64-py3.5版本打包时报错,原因可能是pyi ...

  3. 132、TensorFlow加载模型

    # The tf.train.Saver对象不仅保存变量到checkpoint文件 # 它也恢复变量,当你恢复变量的时候,你就不必须要提前初始化他们 # 列如如下的代码片段解释了如何去调用tf.tra ...

  4. sqlalchemy.exc.IntegrityError: (mysql.connector.errors.IntegrityError) 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

    排错: 看到 Duplicate entry '1' for key 'PRIMARY'是主键错误 看一看自己添加的数据id是1 再查询一下数据库中的表,发现id=1的记录已经存在了 所以在代码中让i ...

  5. C++输出字符指针指向的地址

    int main() { char *s2 = "jwdajkj"; ]; )); printf("%p,%p\n", s3, s1); cout <&l ...

  6. Learn Python the hard way, ex40 字典,可爱的字典

    #!/usr/bin/python #coding:utf-8 cities ={'CA':'sf','MI':'dt','FL':'je'} #创建字典 cities['NY']='ny' #增加新 ...

  7. VulnStack靶场实战(未完成)

    环境搭建 https://www.cnblogs.com/HKCZ/p/11760213.html 信息收集 目录爆破 这里发现有phpmyadmin目录,这里可以直接获取webshell 参照: h ...

  8. MySQL-第N篇杂记

    1.数据的导入导出 2.查询结果的重定向 3.ON DUPLICATE KEY UPDATE对于指定的主键或者唯一键,insert时发生冲突则进行update操作. 4.解决MySQL中问乱码问题,分 ...

  9. [CF580C]Shortest Cycle(图论,最小环)

    Description: 给 \(n\) 个点的图,点有点权 \(a_i\) ,两点之间有边当且仅当 \(a_i\ \text{and}\ a_j \not= 0\),边权为1,求最小环. Solut ...

  10. [未解决]报错: crawlab启动失败

    拉取镜像 docker pull tikazyq/crawlab:latest 一键启动 docker-compose up 报错提示: