参考文献:

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. Linux 并发链接数

    并发数查看   查看 TCP 协议连接数 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' SYN_RECV # ...

  2. C型USB能阻止危险充电器通过USB传播恶意软件

    C型USB能阻止危险充电器通过USB传播恶意软件 C型USB设备(USB Type-C)的新型身份验证协议可以保护用户免受潜在的充电器损坏的风险,这种新型的USB还能减少被恶意软件的风险.基于密码的认 ...

  3. insert into与insert ignore以及replace into的区别

    insert ignore表示,如果表中已经存在相同的记录,则忽略当前新数据: INSERT INTO有无数据都插入,如果主键则不插入; REPLACE INTO 如果是主键插入则会替换以前的数据; ...

  4. usb_control_msg函数用法和说明

    usb_control_msg是没有用到urb的在USB中简单进行发送和接收的一种机制,用于少量的数据通信.原型为:  程序代码 linux+v2.6.35/drivers/usb/core/mess ...

  5. RHEL7 -- 使用Chrony设置时间与时钟服务器同步

    Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确. 它由两个程序组成:chronyd和chronyc. chronyd是一个后台运行的守护进程,用于调整内核 ...

  6. Servlet3.0新特性WebFilter(Annotation Filter)详解

    摘要: Servlet3.0作为J2EE 6规范一部分,并随J2EE6一起发布,WeFilter是过滤器注解,是Servlet3.0的新特性,不需要在web.xml进行配置,简化了配置. Name T ...

  7. Laravel中使用自己的类库三种方式

    虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库.另外在某一项目中,我们也可能会创建某一类库,而且可 ...

  8. VisualSVN Server搭建SVN服务器<转>

    使用 VisualSVN Server来搭建本地的代码管理库是非常方便的.svn的那些“检查修改”.“代码版本自由回滚”.“版本日志”等等很多比较牛逼的功能. 在开发当中可谓是理想的开发助手.而且人脑 ...

  9. STM32 串口通信使用奇偶校验

    STM32串口通信如果使用奇偶校验,需要设置数据位长度为9bit USART_InitStructure.USART_BaudRate = 9600; USART_InitStructure.USAR ...

  10. 【LOJ】#2277. 「HAOI2017」方案数

    题解 这个出题人完美诠释了什么叫 用心出题,用脚造数据 算完复杂度怎么也得\(O(o^2 * 200)\)略微跑不满,但是有8个测试点虽然有障碍但是一个障碍都不在路径上,2个测试点只有10来个点在路径 ...