参考文献:

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. Hibernate延迟加载策略

    所谓懒加载(lazy)就是延时加载,就是当在真正需要数据的时候,才真正执行数据加载操作 至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适,因为内存容量有限 ,为了减少并发量, ...

  2. Ansible Tower系列 二(安装 Tower)【转】

    文档:http://docs.ansible.com/ansible-tower/ 安装前检查 python版本为2.6 保持网络畅通 内存预留充足 安装用户为root 软件下载 下载地址:http: ...

  3. C#上传图片(含有图片大小格式过滤以及改变像素安全存储)

    示例一: public JsonResult Upload(string parameter) { ]; try { //LogHelper.Info("文件长度:" + file ...

  4. 公共语言运行库(CLR)开发系列课程(2):Pinvoke 进阶 学习笔记

    上一章地址 API版本 具有字符串参数的API通常有两种版本 GetWindowText GetWindowTextA GetWindowTextW 缺省情况下CLR会自动寻找合适的匹配 CharSe ...

  5. php扩展Redis功能

    php扩展Redis功能 1 首先,查看所用php编译版本V6/V9 在phpinfo()中查看 2 下载扩展 地址:https://github.com/nicolasff/phpredis/dow ...

  6. 001_fpm打包命令详解

    使用fpm来制作rpm包 2017/2/22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  7. scp拷贝文件报错-bash: scp: command not found

    今天用scp远程传输资料,报错如下: -bash: scp: command not found 在网上搜资料解决办法如下: 安装scp的软件包: # yum install openssh-clie ...

  8. centos7执行 wget命令: command not found的两种解决方法

    1.rpm 安装 下载wget的RPM包: http://mirrors.163.com/centos/6.8/os/x86_64/Packages/wget-1.12-8.el6.x86_64.rp ...

  9. apache显示目录文件列表

    在apache服务器下访问一个目录,如果没有index.html/index.php,则会报错. 为了访问文件夹: 1. 在 /var/www/html 目录下新建 /d/ mkdir d 2.  t ...

  10. SpringBoot修改默认端口号,session超时时间

    有时候我们可能需要启动不止一个SpringBoot,而SpringBoot默认的端口号是8080,所以这时候我们就需要修改SpringBoot的默认端口了.修改SpringBoot的默认端口有两种方式 ...