如何在 Ubuntu 12.04 VPS 上安装和配置基本的 LDAP 服务器

本文涉及的产品
.cn 域名,1个 12个月
简介: 如何在 Ubuntu 12.04 VPS 上安装和配置基本的 LDAP 服务器

简介


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
  • 组织名称?
  • 同样,这取决于您
  • 在本指南中,我们将使用 example
  • 管理员密码?
  • 使用您在安装过程中配置的密码,或选择其他密码
  • 要使用的数据库后端? 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','<span class="highlight">domain_nam_or_IP_address</span>');

对于下一部分,您需要反映在我们重新配置 “slapd” 时要求的 DNS 域名时给出的相同值。

您需要将其转换为 LDAP 可理解的格式,方法是通过分隔每个域组件。域组件是由点分隔的任何内容。

然后,将这些组件作为 “dc” 属性的值给出。

例如,如果您的 DNS 域名条目是 “imaginary.lalala.com”,LDAP 需要看到 “dc=imaginary,dc=lalala,dc=com”。编辑以下条目以反映您选择的名称(我们的是 “test.com”,如您所记得的):

$servers->setValue('server','base',array('dc=<span class="highlight">test</span>,dc=<span class="highlight">com</span>'));

下一个要修改的值将使用您刚刚在上一个条目中设置的相同域组件。在下面的条目中的 “cn=admin” 之后添加这些内容:

$servers->setValue('login','bind_id','cn=admin,dc=<span class="highlight">test</span>,dc=<span class="highlight">com</span>');

搜索有关 “hide_template_warning” 属性的部分。我们希望取消注释此行,并将值设置为 “true”,以避免一些不重要的烦人警告。

$config->custom->appearance['hide_template_warning'] = <span class="highlight">true</span>;

保存并关闭文件。

登录到 Web 界面


您可以通过在 Web 浏览器中输入您的域名或 IP 地址后跟 “/phpldapadmin” 来访问:

<span class="highlight">domain_name_or_IP_address</span>/phpldapadmin

点击左侧的 “login” 链接。

您将收到一个登录提示。如果您正确配置了 PHPldapadmin,则正确的登录 DN(可分辨名称)应该被预填充。在我们的情况下,这将是 “cn=admin,dc=test,dc=com”。

输入您在我们的 slapd 配置过程中选择的密码。

最初,您将看到一个相当简洁的界面。

如果您点击域组件(dc=test,dc=com)旁边的 “plus”,您将看到我们正在使用的管理员登录。

添加组织单位、组和用户


LDAP非常灵活。根据您需要访问的信息类型和您的用例,您可以以许多不同的方式创建层次结构和关系。

我们将为我们的信息创建一些基本结构,然后用信息填充它。

创建组织单位


首先,我们将创建一些信息类别,以便稍后放置信息。因为这是一个基本设置,我们只需要两个类别:组和用户。

单击左侧的“在此处创建新条目”链接。

在这里,我们可以看到我们可以创建的不同类型的条目。

因为我们只是将其用作组织结构,而不是信息密集的条目,所以我们将使用“通用:组织单位”模板。

我们将被要求为我们的组织单位创建一个名称。键入“groups”:

然后,我们需要提交更改。

完成后,我们可以在左侧看到一个新条目。

我们将创建另一个组织结构以便开始。重复该过程,但这次使用名称“users”。

完成后,您应该看到类似这样的内容:

创建组


我们将创建三个不同的组,这些组可以用于根据他们需要的权限将用户组织到不同的“访问”组中。

我们将创建一个“admin”组,一个“irc”组和一个“user”组。然后,如果我们设置了客户端LDAP身份验证,我们可以允许不同组的成员进行身份验证。

我们希望在“groups”组织单位内创建这些组。单击我们创建的“groups”类别。在主窗格中,单击“在组中创建子条目”。

这次,我们将选择“通用:Posix组”类别。

填写“admin”作为组名。单击“创建对象”,然后在下一页上确认。

重复该过程,但只需用“irc”和“user”替换“admin”名称。确保在创建子条目之前重新单击“ou=groups”条目,否则您可能会在错误的类别下创建条目。

现在,您应该在左侧面板中有三个组:

您可以通过单击该条目,然后单击“查看3个子项”来查看“ou=groups”类别中条目的概述:

创建用户


接下来,我们将创建用户并将其放入这些组中。首先,单击“ou=users”类别。单击“创建子条目”。

我们将为这些条目选择“通用:用户帐户”。

我们将得到许多要填写的字段:

填写所有条目,使其对您的用户有意义。

需要记住的一点是,“通用名称”对于类别中的每个条目都需要是唯一的。因此,您可能希望使用用户名格式,而不是自动填充的默认“FirstName LastName”。

在底部单击“创建对象”,然后在下一页上确认。

要创建其他用户,我们将利用复制条目的能力。

单击左侧面板中刚创建的用户。在主窗格中,单击“复制或移动此条目”:

调整条目中“cn=user”的部分,以指向您想要用于新条目的通用名称。在底部单击“复制”:

您将看到下一页上填充了您第一个用户的数据。您需要调整它以匹配新用户的信息。

确保调整uidNumber。在底部单击“创建对象”按钮。

添加用户到组


我们可以通过点击所需的组来将用户添加到不同的组中。在主窗格中,选择“添加新属性”:

从下拉菜单中选择“memberUid”:

在弹出的文本字段中,输入您想要添加的第一个用户。点击底部的“更新对象”:

然后,通过点击“修改组成员”并从可用选项中选择他们来添加更多成员:

结论


现在,您应该已经设置了一个基本的LDAP服务器,并拥有一些用户和组。您可以扩展这些信息,并添加所有不同的组织结构,以复制您业务的结构。

我们将在另一部分中介绍如何使用LDAP凭据对各种服务进行身份验证。


目录
相关文章
|
8天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
72 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
3天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
39 11
|
1月前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
234 50
|
26天前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
53 10
|
28天前
|
Ubuntu API 开发工具
PSOPT在Ubuntu22.04下的安装
通过上述步骤,可以在Ubuntu 22.04下成功安装并配置PSOPT。PSOPT是一个功能强大的工具,适用于解决各种最优控制问题。确保在安装前满足系统要求,并仔细按照步骤操作,可以避免大多数常见问题。通过MATLAB与PSOPT的结合,您可以更高效地处理复杂的控制问题,并获得准确的解决方案。
31 5
|
29天前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
57 4
|
1月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
51 2
|
1月前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
弹性计算 网络协议 Ubuntu
为ECS Ubuntu 18.04实例配置辅助私网IP地址
本文介绍,如何给Ubuntu 18.04系统配置辅助私网ip。
4089 0
为ECS Ubuntu 18.04实例配置辅助私网IP地址
下一篇
DataWorks