Ubuntu22.04下安装LDAP

news2024/11/14 14:44:48

目录

  • 1 简单说明
  • 2 安装配置
    • 2.1 安装
      • 1、安装前准备
      • 2、安装 OpenLADP
      • 3、配置OpenLDAP
      • 4、设置基本组
      • 5、添加新组
      • 5、添加 OpenLDAP 用户
    • 2.2 安装 LDAP 帐户管理器
      • 1、安装
      • 2、配置 LDAP 帐户管理器
  • 3 简单使用
    • 3.1 创建一个组
    • 3.2 创建一个用户
  • 总结

1 简单说明

之前写过在Centos下的安装,以及使用源码包的方式安装OpenLADP,客户端使用的PHPLDAPadmin,在使用的时候创建用户时并不直观。

这次在Ubuntu22.04上安装使用的是apt来安装,同时使用 LDAP 帐户管理器 (LAM) 来作为 OpenLDAP 服务器的前端。

2 安装配置

2.1 安装

1、安装前准备

条件:
Ubuntu 22.04
在安装之前需要确认80端口没有被占用
具有根/管理员权限的非根用户

在开始 安装 OpenLDAP 服务器之前,需要确保 OpenLDAP 服务器的 FQDN(完全限定域名)配置正确。在这里使用 ldap.localdomain.com

# 在 /etc/hosts 中添加
192.168.92.10 ldap.localdomain.com

2、安装 OpenLADP

# 更新存储库
sudo apt update
sudo apt install slapd ldap-utils

在安装 OpenLDAP 包期间,系统会要求设置 OpenLDAP 的管理员密码。输入 OpenLDAP 管理员用户的强密码并选择“确定”,然后重复您的密码。并且 OpenLDAP 安装将完成。
在这里插入图片描述
在这里插入图片描述

3、配置OpenLDAP

# 要开始配置 OpenLDAP 服务器,请运行以下命令。此命令将重新配置主 OpenLDAP 包“slapd”,您将被要求提供一些基本的 OpenLDAP 配置。
sudo dpkg-reconfigure slapd

当询问“省略 OpenLDAP 服务器配置?”时,选择“否”。这将使用新配置文件和新数据库设置 OpenLDAP 服务器。
在这里插入图片描述

输入 OpenLDAP 安装的域名并选择“确定”。此域名将用作 OpenLDAP 服务器的 DN(专有名称)。在此演示中,域名为“localdomain.com”,因此 DN 为“dc=localdomain,dc=com”。
在这里插入图片描述

输入将在 DN 中使用的组织名称。可以为此使用域,但也可以使用其他名称。
在这里插入图片描述

现在输入 OpenLDAP 服务器的管理员密码并重复密码。另外,请确保密码正确。
在这里插入图片描述
在这里插入图片描述

当要求删除旧数据库时,选择“否”。
在这里插入图片描述

现在选择“是”移动旧的 OpenLDAP 数据库,OpenLDAP 配置完成。
在这里插入图片描述

下面是 OpenLDAP 配置完成后的输出。
在这里插入图片描述重新配置 slapd 包后,使用以下命令编辑配置文件 /etc/ldap/ldap.conf 。

sudo vim /etc/ldap/ldap.conf

# 这里的“BASE”是“dc=localdomain,dc=com”,OpenLDAP 服务器的“URI”是“ldap://ldap.localdomain.com
BASE    dc=localdomain,dc=com
URI     ldap://ldap.localdomain.com 

# 重启服务
sudo systemctl restart slapd.service
sudo systemctl status slapd.service 
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
     Loaded: loaded (/etc/init.d/slapd; generated)
    Drop-In: /usr/lib/systemd/system/slapd.service.d
             └─slapd-remain-after-exit.conf
     Active: active (running) since Thu 2024-08-22 14:14:36 CST; 7s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 2245951 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)
      Tasks: 3 (limit: 9405)
     Memory: 3.3M
        CPU: 21ms
     CGroup: /system.slice/slapd.service
             └─2245960 /usr/sbin/slapd -h "ldap:/// ldapi:///" -g openldap -u openldap -F /etc/ldap/slapd.d

Aug 22 14:14:36 template systemd[1]: Starting LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)...
Aug 22 14:14:36 template slapd[2245951]:  * Starting OpenLDAP slapd
Aug 22 14:14:36 template slapd[2245957]: @(#) $OpenLDAP: slapd 2.5.18+dfsg-0ubuntu0.22.04.2 (Jul 12 2024 21:51:23) $
                                                 Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Aug 22 14:14:36 template slapd[2245960]: slapd starting
Aug 22 14:14:36 template slapd[2245951]:    ...done.
Aug 22 14:14:36 template systemd[1]: Started LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol).

# 运行以下命令来检查和验证 OpenLDAP 基本配置
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
#######
dn: dc=localdomain,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: localdomain.com
dc: localdomain

4、设置基本组

# 1、创建 基本组
## 创建一个新的 OpenLDAP 用户基本组,将创建两个不同的基本组,名为“People”的组用于存储用户,然后名为“Groups”的组用于在 OpenLDAP 服务器上存储组。
# 可以使用 LDIF 文件(LDAP 数据交换格式)和 LDAP 工具“ldapadd”
mkdir ldap 
cd ldap

cat >> base-groups.ldif << EOF
dn: ou=People,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Groups,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Groups
EOF

sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f base-groups.ldif
### 输出
Enter LDAP Password: 
adding new entry "ou=People,dc=localdomain,dc=com"

adding new entry "ou=Groups,dc=localdomain,dc=com"

# 查看
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
#### 输出
dn: dc=localdomain,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: localdomain.com
dc: localdomain
####### 以下为刚才新加的内容
dn: ou=People,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Groups,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Groups

5、添加新组

vim group.ldif
## 创建一个名为“netops”的新组,将其存储在基本组“Groups”中并定义 gidNumber 为“5000”
dn: cn=netops,ou=Groups,dc=localdomain,dc=com
objectClass: posixGroup
cn: netops
gidNumber: 5000

# 运行下面的“ldapadd”命令以添加新的“netops”组。并确保输入 OpenLDAP 服务器的管理员密码。
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f group.ldif
#### 输出
Enter LDAP Password: 
adding new entry "cn=netops,ou=Groups,dc=localdomain,dc=com"

## 删除
# ldapdelete -D "cn=admin,dc=localdomain,dc=com" -W  "cn=netops,ou=Groups,dc=localdomain,dc=com"

# 查看
sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(cn=netops)' gidNumber
######
dn: cn=netops,ou=Groups,dc=localdomain,dc=com
gidNumber: 5000

5、添加 OpenLDAP 用户

# 生成加密密码 
slappasswd 
New password: 
Re-enter new password: 
{SSHA}ms1fuVBly5kBXdPmPRlg8mavZDyf638e

# 
cat >> user.ldif <<EOF
dn: uid=xiaoming,ou=People,dc=localdomain,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: xiaoming
sn: Wang
givenName: Xiaoming
cn: Xiaoming Wang
displayName: Xiaoming Wang
uidNumber: 10000
gidNumber: 5000
userPassword: {SSHA}ms1fuVBly5kBXdPmPRlg8mavZDyf638e
gecos: Xiaoming Wang
loginShell: /bin/bash
homeDirectory: /home/xiaoming
EOF

# 使用命令添加用户
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f user.ldif
Enter LDAP Password: 
adding new entry "uid=xiaoming,ou=People,dc=localdomain,dc=com"

# 查看验证
sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(uid=xiaoming)' cn uidNumber gidNumber
dn: uid=xiaoming,ou=People,dc=localdomain,dc=com
cn: Xiaoming Wang
uidNumber: 10000
gidNumber: 5000

2.2 安装 LDAP 帐户管理器

LDAP 帐户管理器 (LAM) 是一个 Web 应用程序,可用作 OpenLDAP 服务器的前端。它允许您从 Web 浏览器管理 OpenLDAP 服务器,您可以从 Web 浏览器设置新用户、组等。
默认情况下,LAM 在 Ubuntu 存储库中可用。您可以使用下面的 apt 命令安装它。这将安装一些其他包,包括 PHP 和 Apache2 网络服务器

1、安装

sudo apt install ldap-account-manager
登录:http://192.168.92.10/lam

2、配置 LDAP 帐户管理器

单击“编辑服务器配置文件” OpenLDAP 服务器设置 LAM 配置文件
在这里插入图片描述在这里插入图片描述

当询问密码时,输入默认密码“lam”并单击“登录”。 LDAP 帐户管理器上的默认配置文件是 lam。为 OpenLDAP 服务器编辑此默认配置文件。

在这里插入图片描述

做一些简单设置:

  • 在“常规设置”页面上,可以看到一些不同的设置。
  • 在“工具设置”中,输入 OpenLDAP 服务器的主 DN(可分辨名称)。这里,DN 是dc=localdomain,dc=com
  • 在“安全设置”部分,选择“登录方式”为“固定列表”。然后,输入详细信息登录 OpenLDAP 服务器。 OpenLDAP 的默认用户是 admin ,因此该字段应该是这样的 cn=admin,dc=localdomain,dc=com
  • 最后,在“密码配置文件”部分输入新密码。这将更改配置文件“lam”的默认密码。然后,单击“保存”按钮应用新的更改。
    在这里插入图片描述

保存后会被重定向到 LDAP 帐户管理员登录页面。再次单击“LAM 配置”菜单并编辑默认配置文件“lam”。

  • 现在转到“帐户类型”页面以设置 OpenLDAP 服务器的默认组。
  • 在“用户”部分,将 LDAP 后缀输入为 ou=People,dc=localdomain,dc=com 。 在这个例子中,所有用户都应该在 People 上可用。
  • 在“组”部分,输入 LDAP 后缀为 ou=Groups,dc=localdomain,dc=com 。在此示例中,所有组都应在基本组 Groups 中可用。
    在这里插入图片描述在这里插入图片描述
    现在单击“保存”按钮以保存对默认配置文件“lam”的更改。
    此处的用户和groups和之前在创建组的时候名字一致

再次被重定向到 LDAP 帐户管理员登录页面。默认用户登录现已更改为“admin”。输入 OpenLDAP 密码的管理员密码,然后单击“登录”。你应该得到 LAM 仪表板。
在这里插入图片描述
在这里插入图片描述

3 简单使用

3.1 创建一个组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 创建一个用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 在后台查看可以看到 SiLi
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
##### 
dn: cn=SiLi,ou=Groups,dc=localdomain,dc=com
cn: SiLi
gidNumber: 10000
objectClass: posixGroup
memberUid: SiLi

总结

在Ubuntu22.04的时候可以使用apt的方式来安装,在安装LDAP的web 服务器的时候可以考虑选择 LDAP 帐户管理器 (LAM) 。因为 PHPLDAPadmin 安装时需要 php 的环境依赖,相对来说安装麻烦。此外在 PHPLDAPadmin 中创建组织和用户时与平常的语法有很大不同,对新手来说不友好。

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

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

相关文章

LLaVA 简介

好奇这张照片是在哪里拍摄的&#xff1f;问 LLaVA&#xff01;&#xff08;图片来自Pixabay的Guy Rey-Bellet&#xff09;。 LLaVA&#xff08;L arge L anguage 和V isual A ssistant 的缩写&#xff09;是一种很有前途的开源生成式人工智能模型&#xff0c;它复制了 OpenAI …

Arduino 定时器 [终极指南](原文)

Arduino Timers [Ultimate Guide] by Khaled Magdy In this tutorial, we’ll discuss Arduino Timers from the very basic concepts all the way to implementing Arduino timer-based systems. We’ll start off by discussing what is a timer, how they work, and what …

最近公共祖先(LCA),树上差分,树的直径总结

最近也是一不小心就学到了树论&#xff0c;这方面确实太不行了&#xff0c;也该开始学习一下了&#xff0c;那么话不多说&#xff0c;进入今日份的树论学习&#xff0c;直接开冲 最近公共祖先&#xff08;LCA&#xff09;——倍增思想&#xff08;可以结合我之前写的ST表学习&…

Windows安装java8\java17并存切换版本操作

问题描述&#xff1a; 首先肯定一台电脑可以安装多个JDK&#xff0c;切换版本也是可实现的。 存在版本切换问题是企业项目用java8&#xff0c;个人研究技术用的17。希望两者并存&#xff0c;随时切换&#xff0c;记录一下操作步骤。 第一&#xff1a;先安装不同版本的jdk到系…

vue项目中,修改elementui一些复杂控件样式

1.前言 在vue项目中&#xff0c;我们为了快速开发&#xff0c;会用到elementui。但很多时候&#xff0c;elementui的样式不满足于我们项目的样式需求。这时候我们需要修改原生elementui的样式。 2.简单控件的样式修改 对于elementui中一些简单的控件&#xff0c;如按钮之类的…

Xshell链接本地20.04Ubuntu虚拟机

一、打开虚拟机设置选择自定义-net8 二、打开虚拟网络编辑器&#xff0c;点击更改设置 三、打开网络设置&#xff0c;如图操作 四。打开虚拟机&#xff0c;进入终端&#xff0c;输入ifconfig 五、su root进入root模式&#xff0c;配置静态网卡 # 备份配置文件 cd /etc/netpla…

Qt:玩转QPainter序列一

前言 最近想潜心研究一下QPainter这个类&#xff0c;最好把QPainter所有的函数都敲一遍&#xff0c;特地记录一下。 在说QPainter之前我们需要了解两个非常重要的东西 第一个坐标系 我用两张图来表示 代码实操的结果 更加详细的坐标系内容请看我的另一篇博客 第二个是有…

一款基于cesium的开源地图工具

Cesium是一个开源的、世界级的、展现3D全球地图的JavaScript类库,它毫无疑问已然成为WebGIS开发中三维地球框架的首选。本次给大家带来的是一个结合CesiumVue的前端地图开发框架&#xff0c;支持很多种地图渲染特效&#xff0c;同时还支持模型加载到地图上面。 开源地址&#…

Linux安装显卡驱动

本文详细阐述了在Linux系统中安装显卡驱动的步骤和注意事项。首先&#xff0c;文章介绍了显卡驱动的重要性&#xff0c;以及为什么需要安装或更新显卡驱动。接着&#xff0c;针对不同类型的显卡&#xff08;如NVIDIA、AMD等&#xff09;&#xff0c;文章提供了具体的安装步骤和…

进程与程序的学习

1、进程与程序 程序:本地文件,编译后产生的文件.elf执行文件,存储在硬盘中的文件;进程:程序运行期间就是一个进程;(主要讨论两个进程的交互)程序是静态的,进程是动态的;程序执行后Linux内核自动完成虚拟内存(资源)分配,成进程; 将数据段、代码段这些运行时必要的…

ProxySQL 读写分离配置

ProxySQL 是一个高性能、高可用的 MySQL 代理软件&#xff0c;旨在提升 MySQL 数据库的可扩展性和性能。它可以在应用程序和 MySQL 服务器之间充当中间层&#xff0c;提供强大的路由、负载均衡和查询优化功能。 ProxySQL 的主要功能&#xff1a; 查询路由&#xff1a; ProxySQ…

王者站撸分析

王者站撸分析 问题背景 有这样两个角色 其中一个角色的被动是受到攻击会减少攻击者的攻速1%,该被动可以叠加40层 另一个角色的被动是攻击敌方会提升自己1%的免伤效果&#xff0c;该被动可以叠加20层。 在站撸情况下 哪方胜算更大&#xff1f; 为了解决这个问题&#xff0c;我…

基于Flask-REXTs创建一个项目接口并利用github上传部署

实习过程中需要自己单独编写一个项目使用到的api&#xff0c;并独立完成api的上传部署&#xff0c;这里记录一下全过程。 第一步 编写本地代码 IDE pycharm上创建一个项目名称&#xff0c;然后所有项目文件及结构如下&#xff1a; 其中app.py文件就是实现的接口&#xff0c;就…

ant design pro 如何实现动态菜单带上 icon 的

ant design pro 如何去保存颜色ant design pro v6 如何做好角色管理ant design 的 tree 如何作为角色中的权限选择之一ant design 的 tree 如何作为角色中的权限选择之二ant design pro access.ts 是如何控制多角色的权限的ant design pro 中用户的表单如何控制多个角色 如上图…

免费无损音乐、音效素材,马住着6个网站

如果你正在寻找免费的无损音乐和音效素材&#xff0c;这里有6个网站可以帮助你找到高质量的资源。无论是制作视频、播客还是其他创意项目&#xff0c;这些平台提供了丰富的选项&#xff0c;满足你的各种需求。 1、菜鸟图库 音效素材下载_mp3音效大全 - 菜鸟图库 菜鸟图库音…

Datawhale X 李宏毅苹果书 AI夏令营 学习笔记(三)

批量归一化(Batch Normalization&#xff0c;BN) 如果说自适应学习率是让训练适应loss&#xff0c;那归一化就是让loss适应训练。 我们抛掉使用自适应学习率的想法&#xff0c;重新看下面的图。可以看到w1固定时&#xff0c;w2的梯度是比较大的。w2固定时&#xff0c;w1的梯度…

GitHub开源的PDF管理工具Stirling-pdf

Stirling pdf 手动搭建docker搭建 官网&#xff1a;https://github.com/Stirling-Tools/Stirling-PDF 手动搭建 Ubuntu2404环境 安装所需软件包 apt install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g openjdk-21-jdk python3…

【R语言】基于nls函数的非线性拟合

非线性拟合 1.写在前面2.实现代码 1.写在前面 以下代码记录了立地指数的计算过程&#xff0c;包括了优势树筛选、误差清理、非线性拟合以及结果成图。 优势树木确定以及数据清理过程&#xff1a; 相关导向函数&#xff1a; 2.实现代码 ##*******************************…

web测试之功能测试常用的方法有哪几种?有什么要点要注意?

1、前言 功能测试就是对产品的各功能进行验证&#xff0c;根据功能测试用例&#xff0c;逐项测试&#xff0c;检查产品是否达到用户要求的功能。 2、常用的测试方法如下&#xff1a; 1、页面链接检查&#xff1a; 每一个链接是否都有对应的页面&#xff0c;并且页面之间切换…

在Excel中“直接引用”字符串地址

indirect是Excel唯一可以拥有直接解析字符串引用地址参数能力的函数&#xff0c;是绝无仅有的宝贝疙瘩。 (笔记模板由python脚本于2024年08月21日 12:45:49创建&#xff0c;本篇笔记适合喜欢用Excel处理数据的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;ht…