参考文献:

https://help.ubuntu.com/12.04/serverguide/openldap-server.html(最主要的)

http://www.linuxidc.com/Linux/2011-08/40020.htm

http://blog.chinaunix.net/uid-24276740-id-3360306.html

前言

在网上搜索ldap的安装配置,能找到很多资料,但是仔细一看会返现千篇一律的都是一样的,但是这些步骤却跟我们当前安装的ldap不一致,这是因为版本更新的缘故,在ubuntu12.04以后,默认安装的ldap发生了很大变更。这个我也是在看了参考文献2和3以后才发现。所以建议大家还是参考官方的配置文档比较好。

配置

按照官方的配置文档,第一步是修改/etc/hosts当中的内容,这里不需要修改主机名,但是需要添加域名,具体内容如下所示,我们添加了cgnmon.envisioncn.com 这一段内容。

127.0.0.1       localhost
127.0.1.1 cgnmon.envisioncn.com cgnmon #do not forget cgnmon # The following lines are desirable for IPv6 capable hosts
:: ip6-localhost ip6-loopback
fe00:: ip6-localnet
ff00:: ip6-mcastprefix
ff02:: ip6-allnodes
ff02:: ip6-allrouters

修改完毕以后执行如下命令安装ldap,需要注意的是不要在SecureCRT中安装,不然看不到安装的图形界面,安装过程中设置密码为12345678。

sudo apt-get install slapd ldap-utils

如果已经安装了,可以通过以下命令重新配置

sudo dpkg-reconfigure slapd

在安装完毕以后,可以通过以下命令来验证是否已经正确安装

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
ldapsearch -x -LLL -H ldap:/// -b dc=envisioncn,dc=com dn

在安装好ldap以后,就需要来创建用户和组了,在/etc/ldap目录下创建一个add_content.ldif文件,起文件内容如下

//创建People,用户存放user
dn: ou=People,dc=envisioncn,dc=com
objectClass: organizationalUnit
ou: People
//创建Groups,用户存放组
dn: ou=Groups,dc=envisioncn,dc=com
objectClass: organizationalUnit
ou: Groups //创建一个miners组
dn: cn=miners,ou=Groups,dc=envisioncn,dc=com
objectClass: posixGroup
cn: miners
gidNumber: //创建一个用户xuwei
dn: uid=xuwei,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: xuwei
sn: Xu
givenName: Wei
cn: Wei Xu
displayName: Wei Xu
uidNumber:
gidNumber:
userPassword: Envisi0n
gecos: Wei Xu
loginShell: /bin/bash
homeDirectory: /home/xuwei

然后通过以下命令根据上述信息来添加用户和组

ldapadd -x -D cn=admin,dc=envisioncn,dc=com -W -f add_content.ldif

我执行完上述命令以后提示一下内容,表示添加uid=xuwei失败,但是People,Groups和miners是添加成功的。

Enter LDAP Password: ********
adding new entry "ou=People,dc=envisoncn,dc=com"
adding new entry "ou=Groups,dc=envisoncn,dc=com"
adding new entry "cn=miners,ou=Groups,dc=envisoncn,dc=com"
adding new entry "uid=xuwei,ou=People,dc=envisoncn,dc=com"
ldap_add: Server is unwilling to perform ()
additional info: no global superior knowledge

添加用户失败也没有关系,我们用ldapadmin这个图形界面工具来进行操作。使用ldapadmin连接管理ldap可以参考:http://www.ldapadmin.org/docs/introduction.html

具体的连接方式可以参考下图,这里选择的version是3,因为ldap默认安装的就是3,细心的人还会记得在安装ldap过程中还会提示我们是否安装ldap2。

使用这个工具,在People下New一个User即可,然后在SetPassword。

到此为止LDAP部分完成。

ubuntu安装LDAP的更多相关文章

  1. ubuntu安装php常见错误集锦

    一.configure 报错 1.错误类型: Configure: error: Please reinstall the libcurl distribution-easy.h should be ...

  2. ubuntu安装greenplum依赖包

    ubuntu安装greenplum的过程中有两个比较难找的包,特地写出来给大家分享一下: 错误提示1:configure: error: header file <ldap.h> is r ...

  3. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  4. ubuntu安装mysql

    好记性不如烂笔头,记录一下,ubuntu安装mysql的指令. 安装MySQL: sudo apt-get install mysql-server sudo apt-get install mysq ...

  5. ubuntu安装vim时提示 没有可用的软件包 vim,但是它被其它的软件包引用了 解决办法

    ubuntu安装vim时提示 没有可用的软件包 vim-gtk3,但是它被其它的软件包引用了 解决办法 本人在ubuntu系统安装vim  输入 sudo apt-get install vim 提示 ...

  6. docker 1.8+之后ubuntu安装指定版本docker-engine

    这边记录ubuntu安装过程,首先是官网文档 If you haven’t already done so, log into your Ubuntu instance. Open a termina ...

  7. debian/ubuntu安装桌面环境

    apt-get install xorg apt-get install gnome 然后startx ubuntu 安装Gnome桌面 1.安装全部桌面环境,其实Ubuntu系列桌面实际上有几种桌面 ...

  8. 一个ubuntu phper的自我修养(ubuntu安装)

    ubuntu安装篇 一.ubuntu下载 到ubuntu官网下载适合自己电脑配置的系统版本,此处不做展开. 二.制作USB启动盘 在windows下制作USB启动盘,工具是universal usb ...

  9. ubuntu 安装JAVA jdk的两种方法:

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

随机推荐

  1. iOS 根据生日得到生肖,星座,年龄的算法

    根据用户生日,得到相应的年龄,星座和生肖.有的项目中可能会用到,贴出来共享. 得到年龄,这个很简单了: - (void)getAgeWith:(NSDate*)birthday{ //日历 NSCal ...

  2. slf4j MDC使用

    slf4j MDC使用 最近也是在项目代码里发现一个地方有个MDC.put(),忍不住好奇点了进去,于是知道了MDC这个东西,细研究一下,发现还真是个好东西. MDC解决了什么问题 MDC全名Mapp ...

  3. nginx tomcat 自动部署python脚本【转】

    #!/usr/bin/env python #--coding:utf8-- import sys,subprocess,os,datetime,paramiko,re local_path='/ho ...

  4. 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍

    揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...

  5. jquery easyui:tab自动加载第一个tab内容

    $('#resourceTabs').tabs('unselect', 0);$('#resourceTabs').tabs('select', 0);

  6. centos7 部署 docker、shipyard

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  7. python3 pandas DataFrame常见用法

    df = pandas.read_clipboard() df 获取索引和值 df.index df.values DataFrame的values属性将数据以二维ndarray形式返回,dtype类 ...

  8. PHP isset()、empty()、is_null()的使用区别详解

    PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...

  9. CF1064B 【Equations of Mathematical Magic】

    题目要求解$a-(a\oplus x)-x=0$的解$x$的个数 移项得$a-x=a\oplus x$ $a$的二进制形式,应该是一个$01$串,异或的过程是不能影响到两个不同的位的,所以我们按位考虑 ...

  10. Intellij IDEA Debug调试技巧

    1.这里以一个web工程为例,点击图中按钮开始运行web工程. 2.设置断点 3.使用postman发送http请求 4.请求发送之后会自动跳到断点处,并且在断点之前会有数据结果显示 5.按F8 在 ...