一,服务器安装

yum install -y openldap openldap-clients openldap-servers migrationtools

二,配置ldap服务器

2.1配置ldap的域和密码

vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

修改域名和用户(在8行和9行),增加用户密码(增加用户密码的时候,一定在输入密码前按一下tab键),修改完成后,wq!保存

2.2配置监视数据库配置文件

vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

修改第7中的dn.base里面的dc和cn,修改成与服务器配置一样的域,wq!保存

2.3,准备LDAP数据库

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG   将/usr/share/openldap-servers/DB_CONFIG.example的文件复制到/var/lib/ldap/DB_CONFIG目录下

chown -R ldap.ldap /var/lib/ldap  给文件授ldap权限

2.4,测试配置验证

slaptest -u   输入命令出现succeeded表示验证成功

2.5,启动服务,并设置开机自启动

systemctl start slapd

systemctl enable slapd

2.6,查看Ldap服务,及端口

netstat -lt | grep ldap

netstat -tunlp | egrep "389|636"

2.7,要启动LDAP服务器的配置,请添加以下LDAP模式

cd /etc/openldap/schema/   切换到schema目录下执行以下命令

ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif

2.8,现在使用迁移工具创建LDAP DIT

vim /usr/share/migrationtools/migrate_common.ph 修改migrate_common.ph文件

修改61行  $NAMINGCONTEXT{'group'} = "ou=Groups";

修改71行   $DEFAULT_MAIL_DOMAIN = "songchen.com";

修改74行  $DEFAULT_BASE = "dc=songchen,dc=com";

修改90行  $EXTENDED_SCHEMA = 1;

2.9,生成一个基地。ldif文件为您的域DIT

cd /usr/share/migrationtools 切换到migrationtools目录下执行  ./migrate_base.pl > /root/base.ldif

2.10,负载”基地。到LDAP数据库中

ldapadd -x -W -D "cn=auto,dc=songchen,dc=com" -f /root/base.ldif

2.11,现在创建一些用户和组,并将其从本地数据库迁移到LDAP

mkdir /home/guests
useradd -d /home/guests/test12 test12
useradd -d /home/guests/test123 test123
echo '123456' | passwd --stdin test12
echo '123456' | passwd --stdin test123

2.12,现在过滤掉这些用户和组以及从/etc/shadow到不同文件的密码

getent passwd tail -n 5 > /root/users

getent shadow | tail -n 5 > /root/shadow
getent group | tail -n 5 > /root/groups

2.13,现在需要使用migrationtools为这些用户创建ldif文件

cd /usr/share/migrationtools  切换到migrationtools目录下编辑vim migrate_passwd.pl文件(修改188行,把/etc/shadow换成/root/shadow)

 

 wq!保存 

再执行./migrate_passwd.pl /root/users users.ldif

./migrate_group.pl /root/groups groups.ldif

2.14,将这些用户和组ldif文件上传到LDAP数据库中

ldapadd -x -W -D "cn=auto,dc=songchen,dc=com" -f users.ldif
ldapadd -x -W -D "cn=auto,dc=songchen,dc=com" -f groups.ldif

2.15,现在搜索LDAP DIT的所有记录(如果能搜索到就说明安装成功了,至此ldap服务器安装完成(按这个安装只支持uid用户的登录))

三,安装客户端并增加cn用户过滤器

ldapadmin官网下载地址:

http://www.ldapadmin.org/download/ldapadmin.html

3.1,下载完成后,填写ldap服务器,创建好了之后双击点进去

3.2,在ou=people下去创建用户组(右击--new--Group),输入名字就可以点击保存,保存之后如右图所示

3.4,设置它的密码右击,选择set password)输入密码,点保存

3.5,登录到ldap服务器去查看信息,就可以看到增加的一条信息如图

这里的信息就是通过ldapadmin客户端添加进来的,到此全部部署完成

注意:一:安装之前,一定要关闭防火墙

  1. 关闭防火墙
    systemctl stop firewalld.service
  2. 禁止firewall开机启动
    systemctl disable firewalld.service
  3. 查看默认防火墙状态
    firewall-cmd --state

  二: 修改selinux

    •   vi /etc/selinux/config
      将SELINUX=enforcing改为:SELINUX=disabled
    •   setenforce 0 //关闭selinux防火墙

  三:如果要开启ssl要修改配置文件

    要增加ldaps:///

vi  /etc/sysconfig/slapd

SLAPD_URLS="ldapi:///  ldap:///  ldaps:///"

  四:再重启服务:service slapd restart

 

Linux搭建Ldap服务器的更多相关文章

  1. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  2. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  3. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  4. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

  5. Linux搭建SVN 服务器(转)

    转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然    日期:2014年 8月 5日 1          安装 ...

  6. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  7. Linux搭建SVN服务器(服务端)

    Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...

  8. 使用Linux搭建FTP服务器实现文件共享

    使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...

  9. Linux搭建DHCP服务器

    Linux搭建DHCP服务器   实验目标: 通过本实验掌握基于Linux的DHCP服务器搭建技能. 本实验包含内容为yum的认识与使用,磁盘挂载的概念与使用,DHCP原理及配置,systemctl服 ...

随机推荐

  1. bugkuCTF

    这题说实话我一脸懵逼,计网还没学的我,瑟瑟发抖,赶紧去百度. 思路分析: 涉及到域名解析,也就是dns服务,看了看writeup,都是修改host文件,百度了下host文件的作用,才明白了 host文 ...

  2. WPF使用Microsoft.VisualBasic创建单例模式引起的权限降低问题

    在进行WPF开发时,总是在找更加优雅去写单例模式的代码. 很多人都喜欢用Mutex,一个App.cs下很多的Mutex,我也喜欢用. 看完<WPF编程宝典>的第七章Applicaton类后 ...

  3. 【网络IO系列】IO的五种模型,BIO、NIO、AIO、IO多路复用、 信号驱动IO

    前言 在上一篇文章中,我们了解了操作系统中内核程序和用户程序之间的区别和联系,还提到了内核空间和用户空间,当我们需要读取一条数据的时候,首先需要发请求告诉内核,我需要什么数据,等内核准备好数据之后 , ...

  4. STP概述简介及生成树算法

    目录: STP概述 STP简介 生成树算法 选择根网桥 选择根端口 选择指定端口 BPDU(桥协议数据单元) STP利用BPDU选择根网桥 STP的收敛 VLAN与STP关系 MSTP多生成树协议华为 ...

  5. C语言:赋值

    #include <stdio.h> //=赋值运算符 //具有方向性,只能将赋值号右边的表达式的值给左边的变量 //赋值语句具有计算功能,赋值号右边可以是常量,变量或表达式都可以 //赋 ...

  6. Java基础00-异常25

    1. 异常 异常 1.1 异常概述 1.2 JVM的默认处理方案 有一行代码报错,下面的代码就不会执行. 1.3 异常处理 如果程序出现了异常,需要我们自己来处理,因为在实际的开发中,不能因为一处的报 ...

  7. 【LeetCode】1248. 统计「优美子数组」

    1248. 统计「优美子数组」 知识点:数组:前缀和: 题目描述 给你一个整数数组 nums 和一个整数 k. 如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」. ...

  8. odoo前后端交互详解

    为了简单叙述,暂时不考虑多个db的情况(主要是懒得说没有db或者多个db实例的情况)当odoo指定数据库开启服务时(也就是odoo-bin -d <some_db_name> ),我们使用 ...

  9. 手写RPC

    服务端代码 package com.peiyu.rpcs.bios; import java.io.IOException; public interface IRpcServers { void s ...

  10. 多个filter如何决定调用顺序

    答案是:web-inf中的web.xml决定