介绍
LDAP或轻量级目录访问协议是一种用于通过使用文件和目录层次结构从集中位置管理相关信息的协议。
它以类似于关系数据库的方式在某些方面起作用,并且可以用于组织和存储任何类型的信息。 LDAP通常用于集中式认证。
在本指南中,我们将介绍如何在Ubuntu 12.04 VPS上安装和配置OpenLDAP服务器。 我们将填充一些用户和组。 在以后的教程, 使用LDAP认证将被覆盖。
请安装LDAP
OpenLDAP服务器在Ubuntu的默认软件包“slapd”下,所以我们可以使用apt-get轻松安装它。 我们还将安装一些其他实用程序:
sudo apt-get update
sudo apt-get install slapd ldap-utils
系统将要求您输入并确认管理员LDAP帐户的管理员密码。
重新配置slapd
安装完成后,我们实际上需要重新配置LDAP包。 键入以下命令以显示软件包配置工具:
sudo dpkg-reconfigure slapd
系统将询问您有关如何配置软件的一系列问题。
省略OpenLDAP服务器的配置? 否
DNS域名?
- 这将创建目录路径的基本结构。 阅读消息以了解它的工作原理。
- 没有关于如何配置此规则的设置规则。 如果您在此服务器上有一个实际的域名,您可以使用。 否则,使用任何你想要的。
- 在本文中,我们将其称之为test.com
机构名称?
- 同样,这取决于你
- 我们将使用本指南中的例子 。
管理员密码?
- 使用您在安装期间配置的密码,或选择另一个
- 使用您在安装期间配置的密码,或选择另一个
数据库后端使用?HDB
删除数据库中的slapd被清除时? 否
将旧的数据库吗?
允许的LDAPv2协议? 否
安装PHPldapadmin
我们将通过名为PHPldapadmin的Web界面管理LDAP。 这也可以在Ubuntu的默认存储库。
使用此命令安装:
sudo apt-get install phpldapadmin
这将安装所有必需的Web服务器和PHP依赖项。
配置PHPldapadmin
在尝试之前,我们需要在Web界面配置文件中配置一些值。
使用root权限打开配置文件:
sudo nano /etc/phpldapadmin/config.php
搜索以下部分并相应地修改它们。
红色的值更改为您将您的引用服务器的方式,无论是通过域名或IP地址。
$servers->setValue('server','host','domain_nam_or_IP_address');
对于下一部分,当我们重新配置“slapd”时,需要反映与提供DNS域名时给出的相同的值。
您必须将其转换为LDAP通过分离每个域组件理解的格式。 域组件是由点分隔的任何内容。
然后,这些分量作为“dc”属性的值。
例如,如果您的DNS域名条目是“imaginary.lalala.com”,LDAP将需要看到“dc = imaginary,dc = lalala,dc = com”。 编辑以下条目以反映您选择的名称(在回忆时,我们的名称为“test.com”):
$servers->setValue('server','base',array('dc=test,dc=com'));
要修改的下一个值将使用您刚才在最后一个条目中设置的相同域组件。 在以下条目中的“cn = admin”后面添加这些:
$servers->setValue('login','bind_id','cn=admin,dc=test,dc=com');
搜索有关“隐藏模板警告”属性以下部分。 我们要取消注释这一行,并将值设置为“true”,以避免一些恼人的警告是不重要的。
$config->custom->appearance['hide_template_warning'] = true;
保存并关闭文件。
登录Web界面
您可以访问您的网络浏览器中的域名或IP地址,然后是“/ phpldapadmin”:
domain_name_or_IP_address/phpldapadmin
点击左侧的“登录”链接。
您将收到登录提示。 如果您正确配置了PHPldapadmin,则应预填充正确的登录DN(可分辨名称)。 在我们的例子中,这将是“cn = admin,dc = test,dc = com”。
输入在我们的slapd配置期间选择的密码。
你最初会看到一个相当稀疏的界面。
如果您单击域组件(dc = test,dc = com)旁边的“加号”,您将看到我们正在使用的管理员登录。
添加组织单位,组和用户
LDAP非常灵活。 您可以以多种不同的方式创建层次结构和关系,具体取决于您需要访问哪种类型的信息以及您具有什么样的用例。
我们将创建一些基本结构的信息,然后填充信息。
创建组织单位
首先,我们将创建一些类别的信息,其中我们将放置稍后的信息。 因为这是一个基本设置,我们将只需要两个类别:组和用户。
点击左侧的“在这里创建新条目”链接。
在这里,我们可以看到我们可以创建的不同类型的条目。
因为我们只使用它作为一个组织结构,而不是一个信息重的条目,我们将使用“通用:组织单位”模板。
我们将被要求为我们的单位部门创建一个名称。 输入“groups”:
然后我们将需要提交更改。
当这完成后,我们可以看到一个新的条目在左手边。
我们将创建一个更多的组织结构,让自己走。 重复此过程,但这次,使用名称“用户”。
当你完成后,你应该有这样的东西:
创建组
我们将创建三个不同的组,可用于根据所需的权限将用户组织为不同的“访问”组。
我们将创建一个“管理员”组,一个“irc”组和一个“用户”组。 然后,如果我们设置了客户端LDAP身份验证,我们可以允许不同组的成员进行身份验证。
我们希望在“groups”组织单位中创建组。 点击我们创建的“组”类别。 在主窗格中,单击组类别中的“创建子条目”。
这一次,我们将选择“Generic:Posix Group”类别。
填写“admin”作为组名称。 单击“创建对象”,然后在下一页上确认。
重复此过程,但只需将“admin”名称替换为“irc”和“user”。 在创建子条目之前,请务必重新单击“ou = groups”条目,否则可能会在错误的类别下创建条目。
您现在应该在左侧面板中有三个组:
通过单击该条目,然后单击“查看3个孩子”,可以查看“ou = groups”类别中条目的概述:
新建用户
接下来,我们将创建用户放入这些组。 首先单击“ou = users”类别。 单击“创建子条目”。
我们将为这些条目选择“通用:用户帐户”。
我们将给予很多字段来填写:
使用对您的用户有意义的信息填写所有条目。
要记住的是,“公共名称”需要对于类别中的每个条目是唯一的。 因此,您可能想使用用户名格式,而不是自动填充的默认“FirstName LastName”。
单击底部的“创建对象”,然后在下一页上确认。
要创建其他用户,我们将利用复制条目的能力。
点击左侧面板中刚刚创建的用户。 在主窗格中,单击“复制或移动此条目”:
调整条目的“cn = user”部分,将其指向要用于新条目的常用名称。 点击底部的“复制”:
您将获得填充有第一个用户数据的下一页。 您需要调整它以匹配新用户的信息。
请务必调整uidNumber。 单击底部的“创建对象”按钮。
将用户添加到组
我们可以通过点击相关组来将用户添加到各个组。 在主窗格中,选择“添加新属性”:
从下拉菜单中选择“memberUid”:
在填充的文本字段中,输入您要添加的第一个用户。 点击底部的“更新对象”:
然后,您可以通过单击“修改组成员”并从可用选项中选择它们来添加更多成员:
结论
您现在应具有设置了几个用户和组的基本LDAP服务器。 您可以扩展此信息,并添加所有不同的组织结构,以复制业务结构。
我们将在另一节介绍了如何使用LDAP凭据进行身份验证的各种服务。