如何在 Ubuntu 12.04 VPS 上安装和配置基本 LDAP 服务器
状态:已弃用
本文涵盖不再受支持的 Ubuntu 版本。如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
- 升级到 Ubuntu 14.04。
- 从 Ubuntu 14.04 升级到 Ubuntu 16.04
- 将服务器数据迁移到支持的版本
原因:
请参阅:
介绍
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
机构名称?
- 再一次,这取决于你
- 我们将在本指南中使用示例。
管理员密码?
- 使用您在安装期间配置的密码,或选择另一个
数据库后端使用?政府组屋
清除 slapd 时删除数据库?不
移动旧数据库?是的
允许 LDAPv2 协议?不
安装 PHPldapadmin
我们将通过名为 PHPldapadmin 的 Web 界面管理 LDAP。这在 Ubuntu 的默认存储库中也可用。
使用此命令安装它:
sudo apt-get install phpldapadmin
这将安装所有必需的 Web 服务器和 PHP 依赖项。
配置 PHPldapadmin
在尝试之前,我们需要在 Web 界面配置文件中配置一些值。
以root权限打开配置文件:
sudo nano /etc/phpldapadmin/config.php
搜索以下部分并相应地修改它们。
将 red 值更改为您将通过域名或 IP 地址引用服务器的方式。
<前>
对于下一部分,您将需要反映您在我们重新配置 \slapd 时询问 DNS 域名时提供的相同值。
您必须通过分隔每个域组件将其转换为 LDAP 可以理解的格式。域组件是由点分隔的任何内容。
然后将这些组件作为值提供给 \dc 属性。
例如,如果您记得您的 DNS 域名条目是 \test.com:
<前>
下一个要修改的值将使用您刚刚在上一个条目中设置的相同域组件。在下面的条目中的 \cn=admin 之后添加这些:
<前>
搜索以下有关 \hide_template_warning 属性的部分。我们要取消注释此行并将值设置为 \true 以避免一些不重要的恼人警告。
<前>
保存并关闭文件。
登录到 Web 界面
您可以通过在您的网络浏览器中转到您的域名或 IP 地址后跟 \/phpldapadmin 来访问:
<前>
单击左侧的“登录”链接。
您将收到登录提示。如果您正确配置了 PHPldapadmin,则应预先填充正确的登录 DN(专有名称)。在我们的例子中,这将是 \cn=admin,dc=test,dc=com。
输入您在 slapd 配置期间选择的密码。
最初,您将看到一个相当稀疏的界面。
如果您单击域组件 (dc=test,dc=com) 旁边的“加号”,您将看到我们正在使用的管理员登录。
添加组织单位、组和用户
LDAP 非常灵活。您可以通过多种不同的方式创建层次结构和关系,具体取决于您需要访问的信息类型以及您拥有的用例类型。
我们将为我们的信息创建一些基本结构,然后用信息填充它。
创建组织单位
首先,我们将创建一些信息类别,我们将在其中放置后面的信息。因为这是一个基本设置,我们只需要两个类别:组和用户。
单击左侧的“在此处创建新条目”链接。
在这里,我们可以看到可以创建的不同类型的条目。
因为我们仅将其用作组织结构,而不是信息密集型条目,所以我们将使用“通用:组织单位”模板。
我们将被要求为我们的组织单位创建一个名称。输入“组”:
然后我们需要提交更改。
完成后,我们可以在左侧看到一个新条目。
我们将再创建一个组织结构来让自己继续前进。重复该过程,但这次使用名称“users”。
完成后,您应该会看到如下所示的内容:
创建群组
我们将创建三个不同的组,可用于根据用户所需的权限将用户组织到不同的“访问”组中。
我们将创建一个 \admin 组、一个 \irc 组和一个 \user 组。然后,如果我们设置客户端 LDAP 身份验证,我们可以允许不同组的成员进行身份验证。
我们要在“groups”组织单元中创建组。单击我们创建的“groups”类别。在主窗格中,单击组类别中的“创建子条目”。
这次,我们将选择“Generic: Posix Group”类别。
填写“admin”作为组名。点击“创建对象”,然后在下一页确认。
重复该过程,但只需将 \admin 名称替换为 \irc 和 \user。确保在创建子条目之前重新单击 \ou=groups 条目,否则您可能会在下面创建条目错误的类别。
您现在应该在左侧面板中有三个组:
您可以通过单击该条目,然后单击“查看 3 个孩子”来查看 \ou=groups 类别中条目的概述:
创建用户
接下来,我们将创建用户以放入这些组中。首先单击“ou=users”类别。单击“创建子条目”。
我们将为这些条目选择“通用:用户帐户”。
我们将得到很多字段来填写:
使用对您的用户有意义的信息填写所有条目。
需要记住的是,类别中的每个条目的 \Common Name 必须是唯一的。因此您可能希望使用用户名格式而不是自动填充的默认 \FirstName LastName。
单击底部的“创建对象”,并在以下页面上确认。
要创建其他用户,我们将利用复制条目的功能。
单击您刚刚在左侧面板中创建的用户。在主窗格中,单击“复制或移动此条目”:
调整条目的“cn=user”部分,将其指向您要用于新条目的通用名称。单击底部的“复制”:
您将看到下一页,其中填充了您的第一批用户数据。您需要调整它以匹配新用户信息。
请务必调整 uidNumber。单击底部的“创建对象”按钮。
将用户添加到组
我们可以通过单击相关组将用户添加到各个组。在主窗格中,选择“添加新属性”:
从下拉菜单中选择“memberUid”:
在填充的文本字段中,输入您要添加的第一个用户。点击底部的“更新对象”:
然后,您可以通过单击“修改组成员”并从可用选项中选择来添加更多成员:
结论
您现在应该有一个基本的 LDAP 服务器设置,其中包含一些用户和组。您可以扩展此信息并添加所有不同的组织结构以复制您的业务结构。
我们将在另一部分介绍如何使用 LDAP 凭据对各种服务进行身份验证。