当前位置: 首页 > news >正文

如何在 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非常灵活。根据您需要访问的信息类型和您的用例,您可以以许多不同的方式创建层次结构和关系。

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

创建组织单位


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

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

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

LDAP object selection

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

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

LDAP groups name

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

LDAP commit ou

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

LDAP ou groups

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

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

LDAP ou complete

创建组


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

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

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

LDAP child of groups

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

LDAP posix group

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

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

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

LDAP three groups

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

LDAP view three children

创建用户


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

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

LDAP user account

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

LDAP user fields

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

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

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

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

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

LDAP copy user entry

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

LDAP copy common name

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

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

添加用户到组


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

LDAP add new attribute

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

LDAP memberuid entry menu

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

LDAP add user2

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

LDAP user choices

结论


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

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

相关文章:

  • Cesium如何高性能的实现上万条道路的流光穿梭效果
  • python3.9安装pysal库
  • 高通安卓12-固件升级
  • 创意产业如何应对AI的挑战。
  • 超越YOLOv8,飞桨推出精度最高的实时检测器RT-DETR!
  • 【CPP】归并排序
  • 网络知识 思维导图
  • MQTT协议与TCP/IP协议在性能上的区别
  • React AntDesign Layout组件布局刷新页面错乱闪动
  • c#音乐播放器续(联网下载)
  • 【驱动篇】龙芯LS2K0300之单总线驱动
  • 越复杂的CoT越有效吗?Complexity-Based Prompting for Multi-step Reasoning
  • 长亭谛听教程部署和详细教程
  • 【Android面试八股文】你能说一说在平常开发过程中你是如何解决事件冲突问题的吗?
  • 虚幻UE5发送 get、post 请求、读取 json 文件
  • 《Java编程思想》读书笔记-对象导论
  • Angular 4.x 动态创建组件
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • gops —— Go 程序诊断分析工具
  • IDEA 插件开发入门教程
  • iOS 颜色设置看我就够了
  • Javascript编码规范
  • js算法-归并排序(merge_sort)
  • MD5加密原理解析及OC版原理实现
  • Python连接Oracle
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 技术:超级实用的电脑小技巧
  • 简单基于spring的redis配置(单机和集群模式)
  • 力扣(LeetCode)21
  • 前端性能优化--懒加载和预加载
  • 全栈开发——Linux
  • 算法系列——算法入门之递归分而治之思想的实现
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • ###项目技术发展史
  • #define、const、typedef的差别
  • $forceUpdate()函数
  • (四)汇编语言——简单程序
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (杂交版)植物大战僵尸
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转载)PyTorch代码规范最佳实践和样式指南
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .NET导入Excel数据
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .net下的富文本编辑器FCKeditor的配置方法
  • [000-01-022].第03节:RabbitMQ环境搭建
  • [023-2].第2节:SpringBoot中接收参数相关注解
  • [20150629]简单的加密连接.txt
  • [22]. 括号生成
  • [AI 大模型] 百度 文心一言
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [C# 网络编程系列]专题六:UDP编程