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

news2024/11/27 8:45:34

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介


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凭据对各种服务进行身份验证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1851886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【嵌入式Linux】i.MX6ULL 时钟树——理论分析

文章目录 0. 时钟树结构0.1 参考手册 Chapter 18​: Clock Controller Module (CCM)0.2 时钟信号路径 1. 时钟源——晶振1.1 外部低频时钟 - CKIL1.1.1 CKIL 同步到 IPG_CLK 解释 1.2 外部高频时钟 - CKIH 和 内部振荡器1.3 总结1.4 缩写补充 2. PLL时钟2.1 i.MX6U 芯片 PLL 时…

Android Studio 安卓手机上实现火柴人动画(Java源代码—Python)

android:layout_marginLeft“88dp” android:layout_marginTop“244dp” android:text“Python” android:textSize“25sp” app:layout_constraintStart_toStartOf“parent” app:layout_constraintTop_toTopOf“parent” /> </androidx.constraintlayout.widget.…

基于顺序存储的环形队列算法库构建

学习贺利坚老师基于数组的环形队列 数据结构之自建算法库——顺序环形队列_下空队列q中依次入队列数据元素abc-CSDN博客文章浏览阅读5.2k次&#xff0c;点赞6次&#xff0c;收藏6次。本文针对数据结构基础系列网络课程(3)&#xff1a;栈和队列中第9课时环形队列的存储及基本操…

用Visual Studio调试CMake项目并生成Visual Studio工程

一. 在Windows系统上安装CMake 访问CMake官方网站https://cmake.org/download&#xff0c;或通过文末链接下载&#xff1a;在下载页面上&#xff0c;找到并点击“Download”链接以获取最新的稳定版本的CMake。请注意&#xff0c;虽然新版本可能包含更多功能和改进&#xff0c;…

MATLAB | 怎样绘制这样的环形柱状图

Hey, 各位又是好久不见&#xff0c;最近忙到后台消息都有些来不及看&#xff0c;非常抱歉&#xff0c;今天带来一个环形柱状图绘制的简易小代码,绘制效果如下&#xff1a; 下面直接给出完整代码&#xff0c;替换一下数据即可&#xff0c;代码都有注释的&#xff1a; 完整代码 …

Redis—SortedSet数据类型及其常用命令详解

文章目录 一、Redis概述SortedSet类型1 ZADD&#xff1a;向有序集合添加成员2 ZREM&#xff1a;从有序集合中移除一个或多个成员3 ZSCORE : 获取sorted set中的指定元素的score值4 ZRANK&#xff1a;获取sorted set 中的指定元素的排名5 ZCARD&#xff1a;获取sorted set中的元…

库卡机器人减速机维修齿轮磨损故障

一、KUKA机器人减速器齿轮磨损故障的原因 1. 润滑不足&#xff1a;润滑油不足或质量不佳可能导致齿轮磨损。 2. 负载过重&#xff1a;超过库卡机械臂减速器额定负载可能导致齿轮磨损。 3. 操作不当&#xff1a;未按照说明书操作可能导致KUKA机器人减速器齿轮磨损。 4. 维护不足…

Unity Apple Vision Pro 开发(三):visionOS 应用形态

文章目录 &#x1f4d5;教程说明&#x1f4d5;常用名词解释&#x1f4d5;visionOS 空间类型⭐Shared Space 共享空间⭐Full Space/Immersive Space 独占空间 &#x1f4d5;visionOS 渲染框架&#x1f4d5;Unity 开发 visionOS 应用的不同模式⭐**窗口模式**⭐VR 模式⭐MR 模式 …

关于edge浏览器注册Kaggle不显示验证部分的问题

使用edge注册kaggle没有显示验证的部分导致无法完成注册 法一 谷歌大法好&#xff0c;使用谷歌注册就么有问题&#xff0c;然鹅需要魔法上网。 法二 使用 edge的Header Editor的插件 收到邮件后填写即可 参考博客&#xff1a; Kaggle平台注册弹不出验证码怎么办&#…

【C++LeetCode】【热题100】最长连续序列【中等】-不同效率的题解【5】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:int longestConsecutive(vector<int>& nums) {int maxlen1;//定义最长连续序列if(nums.size()<1){//特殊情况的长度 等于序列长度return nums.size();}std::unordered_set<int> uniqu…

内容安全复习 8 - 视觉内容伪造与检测

文章目录 研究背景内容伪造方法虚假人脸生成人脸替换属性编辑表情重演跨模态人脸编辑 伪造检测方法眨眼检测交互式人脸活体检测一些了解方法挑战 研究背景 图像内容篡改造成新闻报道的偏颇易导致社会和公共秩序的不安&#xff0c;对公共安全产生不良影响。 造成的影响&#x…

数据结构经典面试之列表——C#和C++篇

文章目录 1. 数据结构概述2. 列表&#xff08;List&#xff09;的基本概念与操作3. 列表的具体实现方式3.1 数组实现3.2 链表实现 4. 列表在C#和C中的使用示例4.1 C#中的列表使用示例4.2 C中的列表使用示例 5. 总结 数据结构是计算机科学中非常重要的一个领域&#xff0c;它主要…

vue-cli 根据文字生成pdf格式文件 jsPDF

1.安装jspdf npm install jspdf --save 2.下载ttf格式文件 也可以用C:\Windows\Fonts下的字体文件&#xff0c;反正调一个需要的ttf字体文件就行&#xff0c;但有的字体存在部分字体乱码现象 微软雅黑ttf下载地址&#xff1a; FontsMarket.com - Download Microsoft YaHei …

一种基于稀疏学习的旋转机械故障诊断方法(MATLAB)

稀疏表示方法是一种利用最少原子在过完备字典上表示或逼近信号的方法&#xff0c;该方法具有信号表示的高分辨率、稀疏性、强抗干扰能力和自适应性等优点。稀疏表示聚焦于设计合适的稀疏表示字典和挖掘有用的稀疏先验信息&#xff0c;其核心思想是将故障特征信息近似表示为字典…

数据挖掘与分析——数据预处理

数据探索 波士顿房价数据集&#xff1a;卡内基梅隆大学收集&#xff0c;StatLib库&#xff0c;1978年&#xff0c;涵盖了麻省波士顿的506个不同郊区的房屋数据。 一共含有506条数据。每条数据14个字段&#xff0c;包含13个属性&#xff0c;和一个房价的平均值。 数据读取方法…

Ubuntu安装Vins-Fusion(1) —— Ubuntu18.04安装vins-fusion

目录 前言 1、准备1.1 安装ROS1.2 安装 Ceres Solver 2、安装 VINS-Fusion3、测试&#xff08;EuRoC MAV 数据集&#xff09;3.1、下载数据集3.2 Monocualr camera IMU3.3 Stereo cameras IMU3.4 Stereo cameras 参考 前言 VINS-Fusion 是一种基于优化的多传感器状态估计器&…

华为RH2288 V3安装 Linux 系统,安装过程心得

带着U盘&#xff0c;怀着激动的心情进入机房安装操作系统&#xff0c;结果没有显示器和键盘鼠标&#xff0c;傻眼了。 作为过来人&#xff0c;温馨提醒&#xff0c;进入机房前记得先打听&#xff0c;准备好这些&#xff1a;机房房间号、机柜编号、物理机编号、键盘、鼠标、显示…

C#调用OpenCvSharp计算并显示带掩膜的图像直方图

之前的文章简要测试了调用OpenCvSharp的Cv2.CalcHist函数计算直方图的用法&#xff0c;不过使用过程中参数mask的值始终为null&#xff0c;也就是计算的整幅图像的直方图&#xff0c;如果mask不为空&#xff0c;则可以计算图像指定区域的直方图&#xff0c;本文学习掩膜的创建方…

一键部署开源PaaS服务Dokploy,代替Vercel, Netlify 以及 Heroku

前言 Vercel, Netlify 以及 Heroku都是知名的PaaS&#xff08;Platform as a Service|平台即服务&#xff09;服务商&#xff0c;利用这些平台我们可以方便快捷的进行项目部署。尤其是各家生态完善&#xff0c;是很多独立开发者的首选之地。 但是随之而来的就是另外的隐患了&…