`
hugang357
  • 浏览: 187062 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

ubuntu上部署OpenLDAP

    博客分类:
  • java
阅读更多

原文地址:https://help.ubuntu.com/community/OpenLDAPServer

OpenLDAP介绍

LDAP是轻量级目录访问协议,是X500协议的简化版。更多 介绍请查看on Wikipedia。

为了方便介绍,所有的信息将储存在目录树中。你可以根据自己的需求更改目录树。(the Directory Information Tree: the DIT)。我们将在这个基础树上开始两个节点。

(1)People节点储存用户信息
(2)Groups节点储存用户组

你可以自己设计你的LDAP根。默认的,将以你的域名作为目录的根。如果你的域名是example.com,那么你的根为dc=example,dc=com


安装OpenLDAP:

首先需要安装ldap服务的守护进程,slapd,需要安装下面的包:slapd和ldap-utils(如何文件安装)

安装时提示输入域名,输入目录管理员密码。

编辑/etc/ldap/slapd.conf文件,对默认设置只需几个改动:输入root密码,注意不要使用明文,需要使用slappasswd生成一个密码:

$ slappasswd
New password:
Re-enter password:
{SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

上面的例子使用的是 secret 作为密码(By nature of the SSHA encryption scheme, your result will vary.)。

继续编辑/etc/ldap/slapd.conf,复制粘贴下面的代码:

#确定你的编辑和添加是在 第一个 “database” 中进行的。(the first 'database' directive,原文中有英文提示)

suffix          "dc=example,dc=com"
directory       "/var/lib/ldap"
rootdn          "cn=admin,dc=example,dc=com"
rootpw          {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m


LDAP数据


ldap目录在安装时已经创建,现在我们将里面填入数据。我们填入的是典型的实例。所谓典型就是能和目录兼容,和典型帐户兼容(web应用),和unix兼容(posix)。
The directory has been created at the installation, now it is time to populate. It will be populated with a "classical" entry that will be compatible with directory (for example for a shared directory), with classical accounts (for a web application) and with Unix accounts (posix).

LDAP可以用ldif文件装载数据(ldif : ldap directory interchange format)。下面我们创建一个ldif文件:

dn: dc=example,dc=com
objectClass: dcObject
objectClass: organizationalUnit
dc: example
ou: Example Dot Com

dn: cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups

dn: uid=lionel,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: lionel
sn: Porcheron
givenName: Lionel
cn: Lionel Porcheron
displayName: Lionel Porcheron
uidNumber: 1000
gidNumber: 10000
userPassword: <password>
gecos: Lionel Porcheron
loginShell: /bin/bash
homeDirectory: /home/lionel
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: lionel.porcheron@example.com
postalCode: 31000
l: Toulouse
o: Example
mobile: +33 (0)6 xx xx xx xx
homePhone: +33 (0)5 xx xx xx xx
title: System Administrator
postalAddress:
initials: LP

dn: cn=example,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: example gidNumber: 10000

在上面的例子中,user,group结构已经创建,在其他的例子中,你可能看到条目中添加的objectClass: top,他起到一个默认的作用,所以你不必特别的制定。你可以使用md5或者CRYPT hashing scheme生成密码,看一下上面和man slappasswd。

安装:
(1)停止ldap守护进程:sudo /etc/init.d/slapd stop
(2)删除安装时自动添加的内容:sudo rm -rf /var/lib/ldap/*
(3)添加sudo slapadd -l init.ldif
(4)修改数据库的权限 sudo chown -R openldap:openldap /var/lib/ldap
(5)启动ldap守护进程:sudo /etc/init.d/slapd start

另一种方法:
(1)重新配置你的ldap:sudo dpkg-reconfigure slapd
(2)启动ldap守护进程:
sudo /etc/init.d/slapd start
(3)加载初始数据:sudo ldapadd -x -W -c -D "cn=admin,dc=kemuri,dc=net" -f init.ldif

我们可以使用ldap-utils工具检查我们是否将信息正确的添加到ldap中,执行查找:

$ ldapsearch -xLLL -b "dc=example,dc=com" uid=lionel sn givenName cn
dn: uid=lionel,ou=people,dc=example,dc=com
cn: Lionel Porcheron
sn: Porcheron
givenName: Lionel

参数说明:
(1)-x,我们不使用sasl身份验证(默认使用)
(2)-LLL禁用ldif信息打印

使用你的LDAP服务

(1)用户验证(查看LDAPClientAuthentication文档的说明)
(2)web应用中的用户验证
(3)为你的邮件系统提供地址服务
当然,ldap的用处还有很多。

ACL安装

Authentication requires access to password field, that should be not accessible by default. Another issue is that during password change using passwd shadowLastChange needs to be accessible as well. Following code shows example ACL setting that permits access to shadowLastChange:

access to attrs=userPassword,shadowLastChange
        by dn="cn=admin,dc=example,dc=com" write
        by anonymous auth
        by self write
        by * none


通常在安装OpenLDAP的时候,会在slapd.conf中安装一份正确的ACL设置。

LDAP replication

在信息系统中,LDAP服务经常会成为重要的服务。身份验证,授权,邮件系统,这些都会依赖ldap服务。这样建立一个附属系统成为了必要。下面是一个简单的配置介绍

介绍

OpenLDAP2.2的replication 的基础是主-从关系:

(1)通知master 服务的守护进程
(2)重新配置master服务的slapd.conf文件,设置一个slave 服务
(3)导出master服务的数据
(4)配置replica 的slapd.conf
(5)将master服务的数据导入到slave服务中
(6)重启/启动replica 服务的进程
(7)重启/启动master 服务的进程

注意:You will have to remember that modifications should ALWAYS be done on the master ! If you modifies the slave, modifications will get lost.

LDAP Master

master服务中,你需要修改/etc/ldap/slapd.conf中的database部分。下面的例子说明一个ldap-2.example.com 上的replica,用户是Manager,密码是secrect。The replication logfile is the place modifications are stored before they are send to the LDAP slave.

replica uri=ldap://ldap-2.example.com:389 binddn="cn=Manager,dc=example,dc=com" bindmethod=simple credentials=secret

replogfile      /var/lib/ldap/replog


使用slapcat导出master中的数据。然后使用scp 或其他的工具将master.ldif拷贝到slave中。

user@master:~$ sudo slapcat -l master.ldif

LDAP Slave

On the slave, you have to authorize your master to update LDAP database.在你的/etc/ldap/slapd.conf中增加下面几行。

updatedn        cn=Manager,dc=example,dc=com
updateref       ldap://ldap-1.example.com

使用slapadd导入master.ldif

user@slave:~$ sudo slapadd -c -l master.ldif

重启master服务

user@master:~$ sudo /etc/init.d/slapd start

重启slave服务

user@slave:~$ sudo /etc/init.d/slapd start


链接:

OpenLDAP website

LDAP HOWTO

http://luma.sourceforge.net/ 一个带简单界面的LDAP管理工具




译者:接触了太长时间的windows,这次开发是要完全在ubuntu上进行,所以很陌生,很多基本的操作都要请教高人。看这篇文档前,大家还是先认真看一下man 文档,和info文档。这是高人说的。
deyeb的开发已经进入到不记录笔记不行的地步了。所以初期的工作有很多的文案要记录,有文档要看。我的翻译仅供个人参考,但是在百度上,一些关键词排名较高,希望能为来看的朋友提供一点点帮助。
随着开发经验的完善,上面画横线的地方将被重新考虑并准确翻译。


这篇帖子值得看一下:http://bbs.chinaunix.net/viewthread.php?tid=413009

分享到:
评论

相关推荐

    Openldap在Ubuntu中的安装部署

    本文将深入探讨如何在Ubuntu系统中安装并部署OpenLDAP,包括详细的步骤和配置过程,特别适用于Ubuntu 9.10版本。 #### 第一部分:OpenLDAP安装 **步骤一:基础安装** 在Ubuntu系统中安装OpenLDAP,首先通过以下...

    OpenLDAP部署

    OpenLDAP部署是一个重要的任务,尤其对于那些需要集中管理和控制用户身份信息的企业或组织。OpenLDAP(Open Source LDAP)是轻量级目录访问协议(Lightweight Directory Access Protocol)的一个开源实现,它提供了...

    op.tar.gz_bash shell_linux_lxc_openldap

    一旦LXC安装完成,你需要创建一个新的LXC容器来部署OpenLDAP服务器。容器的配置文件可以自定义,但通常可以使用默认模板。例如,创建一个名为`openldap-server`的容器: ```bash lxc-create -t ubuntu -n openldap-...

    LINUX+APACHE+BDB+OPENLDAP+PHPLDAPADMIN安装配置包和步骤1

    在这个场景中,可能是Ubuntu、CentOS或Debian等Linux发行版,它们都是服务器部署的常见选择。 2. **APACHE**:Apache HTTP Server是最流行的Web服务器软件,用于托管静态和动态网站。它支持多种编程语言和模块,如...

    ldap的离线安装包及安装方法

    Ubuntu 16.04 使用的是 OpenLDAP,其主要组件包括 slapd(LDAP 服务器)、libldap2(LDAP 客户端库)和 ldap-utils(实用工具)。在有网络的环境中,你可以通过 `apt-get download` 命令下载这些包,例如: ``` ...

    ldap+gerrit+gitweb集成化安装部署

    本文档详细介绍了如何在linux系统下安装ldap、gerrit、gitweb的安装流程。还包括gerrit的ldap认证配置,gerrit+gitweb集成化安装部署流程。

    Linux安装部署zabbix运维监控平台,安装文件

    在被监控的主机上安装Zabbix Agent,并配置`/etc/zabbix/zabbix_agentd.conf`,指定Server参数为Zabbix服务器IP。启动并启用Agent服务: ``` sudo service zabbix-agent start sudo chkconfig zabbix-agent on ...

    LDAP安装说明-配合博客使用

    ### LDAP安装说明与配置详解 #### 一、LDAP简介 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)是一种基于TCP/IP的应用层协议,用于...通过上述步骤,可以帮助读者顺利完成OpenLDAP的部署与使用。

    tomcat及openLADP配置方法

    - **测试LDAP认证:** 完成以上步骤后,可以通过访问Tomcat部署的应用程序来进行登录测试,以验证是否成功实现了基于OpenLDAP的身份认证功能。 - **检查错误日志:** 如果出现问题,可以查看Tomcat的日志文件(如`...

    pureftpd-admin.zip

    1. **安装PureFTPd**:首先,你需要在服务器上安装PureFTPd,可以通过包管理器如`apt`(Debian/Ubuntu)或`yum`(CentOS/RHEL)进行安装。 2. **配置PureFTPd**:配置PureFTPd以使用LDAP进行认证。在纯文本配置文件...

    ldap.rar_系统集成

    在Linux系统(如Ubuntu或CentOS)上安装LDAP服务器,通常会用到`slapd`服务。首先,更新系统软件库并安装必要的软件包: ```shell sudo apt-get update sudo apt-get install slapd ldap-utils ``` 或 ```shell ...

    lnmp环境搭建

    首先,确保服务器上已经安装了必要的基础软件包,并关闭了SELinux与防火墙(iptables)。 **1. 系统安装需求** - **操作系统**: CentOS 6.4 x86_64 mini - **软件**: wget、gcc、gcc-c++等 - **服务**: 关闭...

    pnp-zone

    在部署具有LDAP功能的项目时,首先需要在系统上安装必要的库,这里提到的是`openldap`。`openldap`是开源的LDAP服务器实现,它提供了LDAP服务的基础框架,包括数据存储、安全认证和访问控制等功能。 在基于Arch ...

    linux下安装svn

    在Ubuntu/Debian上: ```bash sudo apt-get install build-essential libapr1-dev libaprutil1-dev libneon-dev libxml2-dev libsqlite3-dev openldap2-client openldap2-devel ``` 在CentOS/RHEL上: ```bash ...

    iredmail-docker:iRedMail Docker映像

    信息该项目使用 (自02/2015起)具有以下功能: iRedAdmin-0.4.1 iRedAPD-1.4.4 roundcubemail-1.0.4里面有什么使用以下图像构建图像: 德比安·威兹(Debian Wheezy) OpenLDAP 阿帕奇圆立方去啊MySQL建筑形象1....

    服务台

    【Ubuntu】和【Debian】是两种流行的Linux发行版,它们都采用基于包的管理系统,允许用户通过命令行工具来安装、更新和管理软件。在这些系统上安装特定的软件通常需要先安装必要的依赖项。 【libldap2-dev】是一个...

Global site tag (gtag.js) - Google Analytics