OpenLDAP安装_Ubuntu 15.10和Debian 8上安装OpenLDAP(2)

  • A+
所属分类:系统文档

(按照这方法安装确实没问题,但使用ldapbrowser.exe时,设置的密码没用,还是选择的匿名连接成功)

关于OpenLDAP

OpenLDAP 是一个轻量级的目录权限协议,由OpenLDAP开发项目. 也是一个独立的协议,所有支持所有的Linux/Unix like 系统, Windows, AIX, Solaris 和Android.

OpenLDAP 包含有:

  • slapd – 标准独立的 LDAP 进程(server)

  • LDAP继承的库, 工具, 和简单的客户端

本文我将介绍怎么安装OpenLDAP 和怎么在Ubuntu/Debian上配置OpenLDAP. 本教程我是在Ubuntu15.10上测试的,当然这些步骤也适合Debian7/8和更早的Ubuntu版本, 含Ubuntu 15.04/14.10/14.04 etc.

这是我测试系统的详细信息:

  • 操作系统 : Ubuntu 15.10 64 位服务器

  • 主机: server.unixmen.local

  • IP地址: 192.168.1.103/24

首先我们来看怎么安装openLDAP.

1. 在Ubuntu 15.10 / Debian 8安装OpenLDAP

输入下面的命令

Switch to root user:

sudo su

su

执行

apt-get install slapd ldap-utils

安装的时候你需要输入LDAP管理员密码,输入密码即可

root@server: -home-sk_001

确认密码.

root@server: -home-sk_002

OpenLDAP就安装好了下面就来配置下

2. 配置OpenLDAP

编辑“/etc/ldap/ldap.conf” 文件,

vi /etc/ldap/ldap.conf

找出、删除注视和替换 ‘BASE’ 和‘ URI’ 的值,对于你的域名和IP地址即可

#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.BASE    dc=unixmen,dc=localURI     ldap://server.unixmen.local ldap://server.unixmen.local:666#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never
# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

保存文件

接下来我们需要通过更新后的值来配置slapd

dpkg-reconfigure slapd

然后就会出现下面截图这样的,选择“no”,按下enter

root@server: -home-sk_003

输入DNS.

root@server: -home-sk_004

输入公司名 (i.e 你自己的公司名).

root@server: -home-sk_005

输入LDAP 的管理密码(上面安装的时候你输入的)

root@server: -home-sk_006

再次确认密码

root@server: -home-sk_007

选择后面的数据库,就让默认好了

root@server: -home-sk_003

选择你是否要自动删除数据库或者留到slapd被删除的时候才删除. 我想保留旧的数据库,所以选择了 No.

root@server: -home-sk_009

选择yes就会删除旧的数据库

root@server: -home-sk_010

选择No然后按下Enter

root@server: -home-sk_011

就这些了,现在我们已经成功了安装好了OpenLDAP,下面我们就来看下它是否能正常的运行

测试LDAP服务

执行下面的命令来测试 OpenLDAP:

ldapsearch -x

输出示例:

# extended LDIF
#
# LDAPv3
# base <dc=unixmen,dc=local> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# unixmen.local
dn: dc=unixmen,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: unixmen
dc: unixmen
# admin, unixmen.local
dn: cn=admin,dc=unixmen,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
# search result
search: 2result: 0 Success# numResponses: 3
# numEntries: 2

如果你看到 ‘Success’ 的话就说明我们的LDAP服务已经安装成功,正在运行了

LDAP服务管理

如果我们要通过命令行的方式来管理LDAP的话会稍微难点,所以我们会使用简单点的GUI管理工具叫做“phpldapadmin”来进行管理、配置LDAP服务.

安装phpLDAPadmin

phpLDAPadmin 是一个基于LDAP的管理工具用来管理LDAP服务,使用phpLDAPadmin,你可以查看LDAP列表、查看LDAP计划、搜索、创建、删除、复制和编辑LDAP等,你还可以从不同服务器之间复制LDAP 的entries

执行下面的命令来安装phpLDAPAdmin:

apt-get install phpldapadmin

创建快捷方式phpldapadmin.

ln -s /usr/share/phpldapadmin/ /var/www/html/phpldapadmin

在Ubuntu 14.10或者更低的版本执行

ln -s /usr/share/phpldapadmin/ /var/www/phpldapadmin

编辑“/etc/phpldapadmin/config.php” 文件,

vi /etc/phpldapadmin/config.php

选择合适的时区,要设置时区、我们可以把下面的这几行取消注视就可以设置时区了

[...]
$config->custom->appearance['timezone'] = 'Asia/Kolkata';
[....]

然后向下滚,把域名替换成自己的域名

我们从这文件中找到 “Define LDAP Servers” 部分,然后编辑如下

[...]// Set your LDAP server name //$servers->setValue('server','name','Unixmen LDAP Server');
[...]// Set your LDAP server IP address // $servers->setValue('server','host','192.168.1.103');
[...]// Set Server domain name //$servers->setValue('server','base',array('dc=unixmen,dc=local'));
[...]// Set Server domain name again//$servers->setValue('login','bind_id','cn=admin,dc=unixmen,dc=local');
[...]

重启Apache服务

systemctl restart apache2

在Ubuntu 14.10或者更低的版本执行

service apache2 restart

确保你的防火墙规则里面通过了Apache的80断开和LDAP的默认389端口

ufw allow 80

输出示例:

Rules updated
Rules updated (v6)
ufw allow 389

输出示例:

Rules updated
Rules updated (v6)

上面的步骤对Debian系统是不适合的

测试phpLDAPadmin

打开浏览器访问: “http://IP-Address/phpldapadmin”.

然后会是这样的

phpLDAPadmin (1.2.2) – – Google Chrome_004

在控制面板的左边点击 “login” . 输入LDAP 的管理员密码,然后点击 “Authenticate”.

phpLDAPadmin (1.2.2) – – Google Chrome_005

现在phpldapadmin 的主界面就出来了

你可以使用LDAP的域名 “unixmen.local” 或者左边的其他详细信息

phpLDAPadmin (1.2.2) – – Google Chrome_006

这里你可以添加更多的对象,比如Organizational Unit, Users and groups etc.

创建对象

1. 创建Organizational Unit(OU):

下面我们就来从phpldapadmin的console创建一些简单的对象,首先我们就创建一下OU

在 “dc=unixmen”这里点击 “+” 的图标,然后点击 “Create new entry here”.

Selection_007

向下滚动然后选择 “Generic-Organizational Unit”.

Selection_008

输入Organizational unit名字t (Ex.sales) 然后点击 “Create Object”.

Selection_009

最后点击 “Commit”.

Selection_010

现在我们可以在LDAP 主界面左边看到我们刚创建的OU

Selection_011

2. 创建用户组:

在左边点击sales OU 然后点击 “Create a child entry” .

phpLDAPadmin (1.2.2) – – Google Chrome_012

接下来选择 “Generic: Posix Group”.

Selection_013

输入组的名字点击Create Object 按钮. 我在这里就输入 “sales-group”.

Selection_014

点击Commit 保存设置

Selection_015

sales OU.现在就可以看到新建的组 “sales-group”

Selection_016

3. 创建用户:

接下来我们就在组 sales-group下面创建用户。

从左边点击 sales-group 选择 Create a child entry 按钮

phpLDAPadmin (1.2.2) – – Google Chrome_017

接下来选择 “Generic: User Account”.

Selection_018

输入详细信息,类似名字,GID成员,最后名字、登录shell、用户密码和用户uID等等,就像下面截图这样的,然后点击 Create object. 比如这里我将会创建用户 “kumar”.

phpldapadmin_cmd

然后点击“Commit” 保存设置

Selection_019

新创建的用户“kumar” w就可以在 “sales-group” 下面找到.

Selection_020

当然你也可以通过下面的命令来验证新创建的是否成功

ldapsearch -x

输出示例:

# extended LDIF
#
# LDAPv3
# base <dc=unixmen,dc=local> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# unixmen.local
dn: dc=unixmen,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: unixmen
dc: unixmen
# admin, unixmen.local
dn: cn=admin,dc=unixmen,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator# sales, unixmen.localdn: ou=sales,dc=unixmen,dc=local
objectClass: organizationalUnit
objectClass: top
ou: sales# sales-group, sales, unixmen.localdn: cn=sales-group,ou=sales,dc=unixmen,dc=local
gidNumber: 500
cn: sales-group
objectClass: posixGroup
objectClass: top# kumar, sales-group, sales, unixmen.localdn: cn=kumar,cn=sales-group,ou=sales,dc=unixmen,dc=local
cn:: IGt1bWFy
gidNumber: 500
homeDirectory: /home/users/kumar
sn: kumar
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 1000
uid: kumar
# search result
search: 2result: 0 Success# numResponses: 6
# numEntries: 5

正如相面提到的,新的对象如‘sales’‘sales-group’,  ‘kumar’都成功的在主LDAP域名上创建好了,同理你可以创建很多的对象

在Debian和Ubuntu相关的系统上安装配置OpenLDAP其实很简单的,就算是新手都能在一小时内搞定的

现在开始我们的OpenLDAP旅程吧

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: