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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue72-路由传参1

一、需求 点击哪个消息&#xff0c;就展示哪个消息的详情 这是一个三级路由&#xff01; 给路由组件&#xff1a;detail.vue传递消息数据。 二、代码步骤 2-1、编写路由组件 从$route.query属性里面获取传参 2-2、编写路由规则 2-3、编写路由标签&#xff0c;传参 1、to的字…

三大交易所全面恢复 IPO 申请

6月21日晚间&#xff0c;北交所受理了3家企业的IPO申请&#xff0c;这是北交所时隔3个月之后恢复IPO受理。6月20日晚间&#xff0c;沪深交易所各受理了1家IPO申请&#xff0c;这是沪深交易所时隔半年后再次受理IPO。这也意味着&#xff0c;三大交易所IPO受理全部恢复。 6月21日…

AIGC时代的英语教育:人工智能会取代英语老师吗?

在当前AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;时代&#xff0c;人工智能技术正在迅速发展并渗透到各个领域&#xff0c;其中包括英语教育。面对这一趋势&#xff0c;许多人担心人工智能会取代传统的英语教师。然而&#xff0c;本文将探讨人工智…

C# Winform中制作精美控件(2)

仓库温度监控系统重有个控件&#xff0c;就是温度监控&#xff0c;还是比较精美的&#xff0c;那么我们来看看制作的要点有哪些。 前面我们讨论过布局和圆角按钮。这节主要关注温度计控件 1. 布局&#xff1a; 两个Panel将界面分位上下两个部分&#xff0c;Dock.Top Dock.Fil…

使用 Ubuntu x86_64 平台交叉编译适用于 Linux aarch64(arm64) 平台的 QT5(包含OpenGL支持) 库

使用 Ubuntu AMD64 平台交叉编译适用于 Linux ARM64 平台的 QT5(包含 OpenGL/WebEngine 支持) 库 目录 使用 Ubuntu AMD64 平台交叉编译适用于 Linux ARM64 平台的 QT5(包含 OpenGL/WebEngine 支持) 库写在前面前期准备编译全流程1. 环境搭建2. 复制源码包并解压&#xff0c;创…

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式&#xff0c;上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇&#xff0c;手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”&#xff0c;两秒钟后进入主页面显示。 第一行显示系统…

[FreeRTOS 功能应用] 互斥访问与回环队列 功能应用

文章目录 一、基础知识点二、代码讲解三、结果演示四、代码下载 一、基础知识点 [FreeRTOS 基础知识] 互斥访问与回环队列 概念 [FreeRTOS 内部实现] 互斥访问与回环队列 [FreeRTOS 内部实现] 创建任务 xTaskCreate函数解析 本实验是基于STM32F103开发移植FreeRTOS实时操作系…

A bug‘s life 虫子的生活(带权并查集)

题目链接: 2492 -- A Bugs Life (poj.org) 题目描述: 思路: 带权并查集&#xff0c;处理方法基本与食物链(http://t.csdnimg.cn/fSnRr)相同&#xff0c;没什么思维创新 但是一开始WA了几次&#xff0c;有些细节没有注意好&#xff0c;还是需要静下心来&#xff0c;好好分析问…

LabVIEW程序闪退问题

LabVIEW程序出现闪退问题可能源于多个方面&#xff0c;包括软件兼容性、内存管理、代码质量、硬件兼容性和环境因素。本文将从这些角度进行详细分析&#xff0c;探讨可能的原因和解决方案&#xff0c;并提供预防措施&#xff0c;以帮助用户避免和解决LabVIEW程序闪退的问题。 1…

数据结构与算法笔记:基础篇 - 初始动态规划:如何巧妙解决“双十一”购物时的凑单问题?

概述 淘宝的 “双十一” 购物节有各种促销活动&#xff0c;比如 “满 200 元减 50元”。假设你女朋友购物车中有 n 个&#xff08;n > 100&#xff09;想买的商品&#xff0c;它希望从里面选几个&#xff0c;在凑够满减条件的前提下&#xff0c;让选出来的商品价格总和最长…

汉语拼音字母表 (声母表和韵母表)

汉语拼音字母表 [声母表和韵母表] 1. 汉语拼音声母表2. 汉语拼音韵母表References 1. 汉语拼音声母表 声母是韵母前的辅音&#xff0c;与韵母一起构成一个完整的音节。 辅音是发声时&#xff0c;气流在口腔中受到各种阻碍所产生的声音&#xff0c;发音的过程即是气流受阻和克…

Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!

代码仓库 会同步代码到 GitHub https://github.com/turbo-duck/flink-demo 当前章节 继续上一节的内容&#xff1a;https://blog.csdn.net/w776341482/article/details/139875037 上一节中&#xff0c;我们需要使用 nc 或者 telnet 等工具来模拟 Socket 流。这节我们写一个 …

【python】linux下安装chromedriver

首先&#xff0c;安装selenium模块 pip3 install selenium查看系统内chrome版本&#xff1a; google-chrome --version 根据谷歌浏览器版本下载对应的浏览器驱动版本&#xff1a; wget https://storage.googleapis.com/chrome-for-testing-public/126.0.6478.114/linux64/ch…

2024年6月大众点评成都餐饮店铺POI分析22万家

2024年6月大众点评成都餐饮店铺POI共有221002家 店铺POI点位示例&#xff1a; 店铺id CACuqlcUQApLA7Ki 店铺名称 峨眉山豆腐脑(百吉街店) 十分制服务评分 7.3 十分制环境评分 7.5 十分制划算评分 7.1 人均价格 18 评价数量 38 店铺地址 百吉街86号1层 大类 美食 中类…

Day7 —— 大数据技术之Hive

Hive快速入门系列 Hive的概述什么是Hive&#xff1f;使用Hive的原因 Hive架构Hive安装Hive配置文件修改启动Hive以命令行方式启动&#xff08;在$HIVE_HOME/bin目录下&#xff09;以JDBC连接启动&#xff08;beeline方式连接&#xff09; Hive基本操作Hive数据库操作Hive表操作…

天气冷电脑不能启动找不到硬盘

https://diy.zol.com.cn/2004/0611/101994.shtml

为什么 JakeWharton 建议:App 只要用到一个 Activity ?

我们来看看这条回答都提到了哪些内容&#xff0c;对 Activity 和 Fragment 之间的爱恨情仇有何独到的见解&#xff0c;凭什么能得到 JakeWharton 本尊的青睐有加。 因为 Activity 是一个程序入口。你可以将其视为 app 的一个 main 函数。站在用户的立场上&#xff0c;通常你进入…

ARM功耗管理软件之WFIWFE

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理软件栈及示例&#xff1f;WFI&WFE&#xff1f;时钟&电源树&#xff1f;DVFS&AVS&#xff1f; ARM功耗管理精讲与实战汇总参见&#xff1a;Arm功耗管理精讲与实战

IO模型详解

阻塞IO模型 假设应用程序的进程发起IO调用&#xff0c;但是如果内核的数据还没准备好的话&#xff0c;那应用程序进程就一直在阻塞等待&#xff0c;一直等到内核数据准备好了&#xff0c;从内核拷贝到用户空间&#xff0c;才返回成功提示&#xff0c;此次IO操作&#xff0c;称…

OkHttp框架源码深度剖析【Android热门框架分析第一弹】

OkHttp介绍 OkHttp是当下Android使用最频繁的网络请求框架&#xff0c;由Square公司开源。Google在Android4.4以后开始将源码中的HttpURLConnection底层实现替换为OKHttp&#xff0c;同时现在流行的Retrofit框架底层同样是使用OKHttp的。 源码传送门 优点: 支持Http1、Http…